log4j日志管理

1.现在项目中加载日志的jar包,如果把配置文件放到src目录下,则不用配置,否则需要的web.xml文件中配置log4j的文件路径
2.日志如何把不同级别日志输出到不同的文件夹,并且每日生成一个日志
因为org.apache.log4j.DailyRollingFileAppender是输出当前级别及以上的日志,所以如果要只输出当前级别日志,需要对此方法重写,如下:

public class MyAppender extends DailyRollingFileAppender {

     public boolean isAsSevereAsThreshold(Priority priority) {    
                   //只判断是否相等,而不判断优先级     
                 return this.getThreshold().equals(priority);    
             }  


}

log4j.properties配置文件如下

log4j.rootLogger=INFO,console,info,warn,error 


#\u63a7\u5236\u53f0
#FATAL>ERROR>WARN>INFO>DEBUG
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.Threshold=DEBUG
log4j.appender.console.ImmdiateFlush=true
log4j.appender.console.Target=System.err
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=[%-5p][%l(%r)]: %m %x %n



log4j.logger.info=info 
log4j.appender.info=jtweixin.common.MyAppender 
log4j.appender.info.layout=org.apache.log4j.PatternLayout 
log4j.appender.info.layout.ConversionPattern=%-d{yyyy-MM-dd HH\:mm\:ss} [%l] - [ %t\:%r ] - [ %p ]  %m%n 
log4j.appender.info.datePattern=yyyy-MM-dd'.txt' 
log4j.appender.info.Threshold = INFO  
log4j.appender.info.append=false 
log4j.appender.info.File=D\:/logs/info/log_ 

log4j.logger.warn=warn 
log4j.appender.warn=jtweixin.common.MyAppender 
log4j.appender.warn.layout=org.apache.log4j.PatternLayout 
log4j.appender.warn.layout.ConversionPattern=%-d{yyyy-MM-dd HH\:mm\:ss} [%l] - [ %t\:%r ] - [ %p ]  %m%n 
log4j.appender.warn.datePattern=yyyy-MM-dd'.txt' 
log4j.appender.warn.Threshold = WARN  
log4j.appender.warn.append=false 
log4j.appender.warn.File=D\:/logs/warn/log_ 

log4j.logger.error=error 
log4j.appender.error=jtweixin.common.MyAppender 
log4j.appender.error.layout=org.apache.log4j.PatternLayout 
log4j.appender.error.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%l] - [ %t:%r ] - [ %p ]  %m%n
log4j.appender.error.datePattern=yyyy-MM-dd'.txt' 
log4j.appender.error.Threshold = ERROR  
log4j.appender.error.append=false 
log4j.appender.error.File=D\:/logs/error/log_ 


#如果需要输出sql相关日志,要做一下配置
#log4j.logger.com.ibatis=DEBUG
#log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUG
#log4j.logger.com.ibatis.common.jdbc.ScriptRunner=DEBUG
#log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG
#log4j.logger.java.sql.Connection=DEBUG
#log4j.logger.java.sql.Statement=DEBUG
#log4j.logger.java.sql.PreparedStatement=DEBUG
#log4j.logger.java.sql.ResultSet=DEBUG

#如果不想输出spring自身的日志,需要做一下配置
log4j.logger.org.springframework=ERROR

3.如果想把某个类的日志单独输出到某个文件夹:
1)首先在类中做如下配置:
private static Logger log = Logger.getLogger(“loginInterceptor”);
2)配置文件如下:

log4j.rootLogger=INFO,console,dailyfile

#\u63a7\u5236\u53f0
#FATAL>ERROR>WARN>INFO>DEBUG
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.Threshold=DEBUG
log4j.appender.console.ImmdiateFlush=true
log4j.appender.console.Target=System.err
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=[%-5p][%l(%r)]: %m %x %n

log4j.appender.dailyfile = org.apache.log4j.DailyRollingFileAppender
log4j.appender.dailyfile.File = D:/logs/log_
log4j.appender.dailyfile.DatePattern=yyyy-MM-dd'.txt'
log4j.appender.dailyfile.Append = true
log4j.appender.dailyfile.Threshold = INFO 
log4j.appender.dailyfile.layout = org.apache.log4j.PatternLayout
log4j.appender.dailyfile.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}[%c] - [ %p ]  %m%n

##URL intercept log 
#这个地方logger.的名字必须和java文件中定义的Logger.getLogger里的名字一样才行
log4j.logger.loginInterceptor=INFO,intercept    
log4j.appender.intercept=org.apache.log4j.DailyRollingFileAppender    
log4j.appender.intercept.File = D:/logs/url/log_
log4j.appender.intercept.DatePattern=yyyy-MM-dd'.txt'
log4j.appender.intercept.layout=org.apache.log4j.PatternLayout  
log4j.appender.intercept.layout.ConversionPattern=%-d{yyyy-MM-dd HH\:mm\:ss}[%c] - [ %p ]  %m%n 
#false的话,这个类的日志只输出到指定文件,不再输出到其他地方
log4j.additivity.loginInterceptor=false 

log4j.logger.com.ibatis=DEBUG
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUG
log4j.logger.com.ibatis.common.jdbc.ScriptRunner=DEBUG
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG
log4j.logger.java.sql.ResultSet=DEBUG

log4j.logger.org.springframework=ERROR
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值