SSH使用Log4j

1. 将Jar文件log4j-1.2.14.jar导入项目。

2. 在src文件夹下新建log4j.properties文件:

log4j.rootLogger = debug,stdout,D,E  

log4j.appender.stdout = org.apache.log4j.ConsoleAppender  
log4j.appender.stdout.Target = System.out  
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout  
log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n  

log4j.appender.D = org.apache.log4j.DailyRollingFileAppender  
log4j.appender.D.File = D://logs/log.log  
log4j.appender.D.Append = true  
log4j.appender.D.Threshold = DEBUG   
log4j.appender.D.layout = org.apache.log4j.PatternLayout  
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n  

log4j.appender.E = org.apache.log4j.DailyRollingFileAppender  
log4j.appender.E.File =D://logs/error.log   
log4j.appender.E.Append = true  
log4j.appender.E.Threshold = ERROR   
log4j.appender.E.layout = org.apache.log4j.PatternLayout  
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

该文件设置了日志的级别、目录等信息。

3. 修改web.xml文件,增加下面的语句:

    <context-param>    
        <param-name>webAppRootKey</param-name>    
        <param-value>webapp.root</param-value>    
    </context-param> 
   
    <context-param>  
        <param-name>log4jConfigLocation</param-name>  
        <param-value>classpath:log4j.properties</param-value>  
    </context-param> 
     
    <context-param>    
        <param-name>log4jRefreshInterval</param-name>    
        <param-value>3000</param-value>    
    </context-param>  
    
    <listener>  
        <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
    </listener>

applicationConetext.xml文件不需要修改。

4. 在需要输出日志的类里面增加语句:

private static Logger logger = Logger.getLogger(XXX.class);

该语句获得了一个Logger。然后在需要输出日志的地方:

Logger.debug ( Object message ) ;  
Logger.info ( Object message ) ;  
Logger.warn ( Object message ) ;  
Logger.error ( Object message ) ;

四条语句对应了4个不同的级别,debug的级别最低,error级别最高,Threshold如果设置成DEBUG,则4个级别都会输出,如果设置成ERROR,则只会输出error级别。

posted @ 2017-01-23 14:59  MSTK  阅读(1664)  评论(0编辑  收藏  举报