
1.rootLogger不输出
代码如下:
配置文件代码:
log4j.rootLogger=info, R,userLog
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=E:/createHtml.log
log4j.appender.R.MaxFileSize=100MB
log4j.appender.R.MaxBackupIndex=20
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%-d{yyyy-MM-dd HH\:mm\:ss} [%p] %c - %m%n
log4j.appender.userLog=org.apache.log4j.ConsoleAppender
log4j.appender.userLog.Target=System.out
log4j.appender.userLog.layout=org.apache.log4j.PatternLayout
log4j.appender.userLog.layout.ConversionPattern=%m%n
类中代码:
private final static Log log = LogFactory.getLog("userInfoLog");
log.debug(“输出日志====”);
错误:设置好的日志,文件中没有输出,控制台也没有输出
原因:level级别问题;配置文件中设置的级别是info;而在类中输出使用的是debug;log4j的level级别为:debugàinfoàwarnàerror;

解决:配置级别高,输出级别低则不会输出,如果反过来就会输出;比如:配置文件改为debug,输出使用log.debug或者log.info或者更高级别都可以。fileappender log4j
2.自定义的日志不输出
代码如下:
配置文件代码:
log4j.appender.createExcel=info,excel
log4j.appender.excel=org.apache.log4j.FileAppender
log4j.appender.excel.File=E:/createExcel.log
log4j.appender.excel.Append=true
log4j.appender.excel.Threshold=info
log4j.appender.excel.layout=org.apache.log4j.PatternLayout
log4j.appender.excel.layout.ConversionPattern=%m%n
log4j.additivity.createExcel = false
类中代码:
private final static Log log = LogFactory.getLog("createExcel ");
log.debug(“输出日志====”);
错误:使用自定义的名称createExcel不输出日志
原因:配置文件中的红色代码处有错误,这种错误很容易在配置文件中有很多日志文件的时候,复制上面的出错;
解决:log4j.logger.createExcel=info,excel;Logger:负责供客户端代码调用,执行debug、info等方法。fileappender log4j Appender:负责日志的输出,Log4j已经实现了多种不同目标的输出方式,可以向文件输出日志、向控制台输出日志、向Socket输出日志等。红色部分错误的将logger写成了appender;新添加一个自定义的日志的时候必须要是有log4j.logger类。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-33685-1.html
你能喝多少