log4j.properties 使用方法总结

最近在项目中使用 log4j 中老是遇到各种各样的问题,现在将最终的解决方案(使用log4j.propeties)贴下来。

配置如下:


### direct log messages to stdout ###

log4j.rootLogger = INFO
# The format is: log4j.logger.
   
   
    
     = 
    
    
     
     ,
     
     
      
      
# the loggers are based on package name

#使用日志; log4j.logger 后面的内容是包名,或类名,表示对该包下面所有的类,或者指定的类中的日志输出级别,使用哪个定义好的日志。
log4j.logger.org.summer=DEBUG,app
log4j.logger.com.webank.middle=DEBUG,app
log4j.logger.com.webank.middle.aop.impl=DEBUG,monitor

log4j.logger.java.sql.Connection=DEBUG,app
log4j.logger.java.sql.Statement=DEBUG,app
log4j.logger.java.sql.PreparedStatement=DEBUG,app
log4j.logger.com.ibatis=DEBUG,app
log4j.logger.org.apache=WARN,app
log4j.logger.org.quartz=INFO,app
log4j.logger.org.springframework=INFO,app
log4j.logger.com.webank.middle.lbp.action=INFO,balanceSaver
log4j.logger.com.webank.middle.spi.rmb.impl=DEBUG,rmb
log4j.logger.com.webank.middle.lbp.auth.action=INFO,auth

#定义日志输出格式; appender 后面的就是定义的某个日志及格式配置。后面定义了 console,app,monitor,balanceSaver,rmb,auth 这些日志。
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.summer.log.Log4jExPatternLayout
log4j.appender.console.layout.ConversionPattern=[%p][%d{yyyy-MM-dd HH:mm:ss SSS}][%T][%F:%L] %m%n

log4j.appender.app=org.apache.log4j.DailyRollingFileAppender
log4j.appender.app.DatePattern=yyyyMMdd
log4j.appender.app.Append=true
log4j.appender.app.Threshold=TRACE
log4j.appender.app.File=../logs/mbp.log
log4j.appender.app.layout=org.summer.log.Log4jExPatternLayout
log4j.appender.app.layout.ConversionPattern=[%p][%d{yyyy-MM-dd HH:mm:ss SSS}][%T][%F:%L]%m%n


log4j.appender.monitor=org.apache.log4j.DailyRollingFileAppender
log4j.appender.monitor.DatePattern=yyyyMMdd
log4j.appender.monitor.Append=true
log4j.appender.monitor.Threshold=TRACE
log4j.appender.monitor.File=../logs/monitor.log
log4j.appender.monitor.layout=org.summer.log.Log4jExPatternLayout
log4j.appender.monitor.layout.ConversionPattern=[%p][%d{yyyy-MM-dd HH:mm:ss SSS}][%T][%F:%L] %m%n

log4j.appender.balanceSaver=org.apache.log4j.DailyRollingFileAppender
log4j.appender.balanceSaver.DatePattern=yyyyMMdd
log4j.appender.balanceSaver.Append=true
log4j.appender.balanceSaver.Threshold=TRACE
log4j.appender.balanceSaver.File=../logs/balanceSaver.log
log4j.appender.balanceSaver.layout=org.summer.log.Log4jExPatternLayout
log4j.appender.balanceSaver.layout.ConversionPattern=[%p][%d{yyyy-MM-dd HH:mm:ss SSS}][%T][%F:%L] %m%n

log4j.appender.rmb=org.apache.log4j.DailyRollingFileAppender
log4j.appender.rmb.DatePattern=yyyyMMdd
log4j.appender.rmb.Append=true
log4j.appender.rmb.Threshold=TRACE
log4j.appender.rmb.File=../logs/rmb.log
log4j.appender.rmb.layout=org.summer.log.Log4jExPatternLayout
log4j.appender.rmb.layout.ConversionPattern=[%p][%d{yyyy-MM-dd HH:mm:ss SSS}][%T][%F:%L] %m%n

log4j.appender.auth=org.apache.log4j.DailyRollingFileAppender
log4j.appender.auth.DatePattern=yyyyMMdd
log4j.appender.auth.Append=true
log4j.appender.auth.Threshold=TRACE
log4j.appender.auth.File=../logs/auth.log
log4j.appender.auth.layout=org.summer.log.Log4jExPatternLayout
log4j.appender.auth.layout.ConversionPattern=[%p][%d{yyyy-MM-dd HH:mm:ss SSS}][%T][%F:%L] %m%n
     
     
    
    
   
   

务必十分注意 log4j 的 warning,有时这些 warning 会隐含导致一些错误,如,不能写出日志等等。

还有可能遇到这两个问题:

1.在 eclipse 中启动 server,server 文件夹打包位于 tomcat/webapps/ 然而日志文件都没有在指定的目录下生成出来。猜测可能在别的地方生成了。此时,若直接使用 tomcat/bin 下的 startup.sh 启动应用则会按期望地生成日志文件 ,并且能正常地打印日志。

2.日志配置没有错,但是就是没有日志文件生成,这有可能是 log4j.propeties 配置文件的编码有问题,导致某个地方多出了一个特殊的字符。如果碰到无法解决的 log4j 文件,很有可能就是配置文件的编码有问题,导致某些地方凭空多出了一些无用的字符,使配置文件错误了。此时,不妨将 log4j.propeties 编码改为 ascii 编码试试。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值