日志级别,一般从高到低为FATAL>ERROR>WARN>INFO>DEBUG
生产的日志级别,通常是ERROR
log4j.rootLogger=ERROR,stdout,file
通常调试日志是关闭的,程序类似
if (logger.isDebugEnabled()) {
logger.debug("someinfo");
}
当程序异常时,要追溯日志,但是又不希望直接开启DEBUG级别,导致调试日志不容易,可以直接指定特定类或者包的级别,在log4j配置文件,我的是log4j.properties,加上
log4j.logger.com.xxx.yyy=DEBUG
这样这个包或这个类的日志范围就会以DEBUG为准了
完整的例子,如:
# Root logger option
log4j.rootLogger=ERROR,stdout,file
# 定义某些类级别
log4j.logger.com.xxx.yyy=DEBUG
# 自定义文件输出
log4j.logger.wxLogger=DEBUG,wxfile
# 只在子logger输出,而不在父logger输出
log4j.additivity.wxLogger=false
# 控制台输出
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %-4r %-5p [%t] (%F:%L) %10c %3x - %m%n
# 默认文件定义
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.File=${log.file.path}
log4j.appender.file.Append=true
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d %-4r %-5p [%t] (%F:%L) %10c %3x - %m%n
log4j.appender.file.Encoding=UTF-8
# 自定义文件定义
log4j.appender.wxfile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.wxfile.File=${log.wx.file.path}
log4j.appender.wxfile.Append=true
log4j.appender.wxfile.layout=org.apache.log4j.PatternLayout
log4j.appender.wxfile.layout.ConversionPattern=%d %-4r %-5p [%t] (%F:%L) %10c %3x - %m%n
log4j.appender.wxfile.Encoding=UTF-8
# 打印sql
log4j.logger.org.hibernate.type.descriptor.sql.BasicBinder=TRACE
log4j.logger.org.hibernate.SQL=DEBUG
好了,可以愉快的调试了