log4j在java项目中使用


   Log4j.properties的路径为    src/config/log4j


Log4j.properties
文件的内容
下面定义日志输出级别是 INFO,并且配置了2个输出目的地,一个是A3,一个是console log4j.rootLogger = INFO,A3,CONSOLE //日志最低的输出级别 log4j.appender.A3.Threshold=INFO log4j.appender.A3.encoding=UTF-8 //每天产生一个文件DailyRollingFileAppender log4j.appender.A3 = org.apache.log4j.DailyRollingFileAppender //file 属性 指定产生日志文件的保存位置及文件名,这里是windows下的配置 // c:/logtest/logtest.log, //公司项目在linux下的配置是/app/weblogic/applications/logs/sxvip_logs log4j.appender.A3.File=c:/logtest/logtest.log //当有日志时立即输出,默认是true log4j.appender.A3.ImmediateFlush=true log4j.appender.A3.DatePattern=‘_‘yyyy-MM-dd //日志布局方式 log4j.appender.A3.layout=org.apache.log4j.PatternLayout //日志文件中日志的格式 log4j.appender.A3.layout.ConversionPattern=%-d{yyyy/MM/dd HH:mm:ss} OSS %-5p [%c] - %m%n //这里使用org.apache.log4j.ConsoleAppender指定要把日志输出到控制台 log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender log4j.appender.Threshold=INFO //输出目标是 控制台 log4j.appender.CONSOLE.Target=System.out log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout log4j.appender.CONSOLE.layout.ConversionPattern=%-d{yyyy/MM/dd HH:mm:ss} OSS %-5p [%c] - %m%n

Web应用中web.xml利用Spring配置log4j

在web.xml中添加配置
<!-- 配置log4j配置文件的路径,可以是xml或 properties(此参数必须配)--> 
下面使用了classpath 参数指定log4j.properties文件的位置,这样log4j的配置文件就不用非要放到src的下面
<context-param>
   <param-name>log4jConfigLocation</param-name>
 <param-value>classpath:config/log4j/log4j.properties</param-value>
</context-param> 
使用spring的监听器,当应用启动时来读取log4j的配置文件
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>

java中使用log4j

public class FUserAction extends ActionSupport{
    private IfUserService ifUserService;
    private FUser user;
    private static final Logger log = Logger.getLogger(FUserAction.class);
    /*
     * 用户登录
     * */
    public String login(){
        if(user==null) {
            log.info("请输入用户名和密码!");
            return INPUT;}
        if(user.getName().equals("")||user.getPassword().equals(""))return INPUT;
        user=ifUserService.login(user.getName(),user.getPassword());
        log.info("用户"+user.getName()+"登录成功!");
        return SUCCESS;
    }

 

当应用启动时,这里就会根据log4j的配置(log4j.appender.A3.File=c:/logtest/logtestxxx.log)在c盘下产生日志文件

 

当在java类的main方法中测试时,不会在日志文件中添加日志信息

 
 

log4j在java项目中使用,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。