求解答:log4j信息可以输入到console,但输出不到文件。
我是用log4j.properties来配置log4j的。本意打算log4j的信息既在console上显示,也可输出到*.log文件。现在在console上显示没有问题,*.log文件也生成了,但就是log文件中空白没有内容。大家知道为什么吗?
以下是我的log4j.properties的内容。
log4j --------------------编程问答-------------------- 配置一下输出级别,可能没有错误,就没有输出了。 --------------------编程问答-------------------- 有错误输出的。在Console上我都能看到ERROR信息的。
log4j.rootLogger=ERROR,console
log4j.logger.testLogger=,file
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.SimpleLayout
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=e:/ch19.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%c]-[%-5p] %m%n%n
--------------------编程问答-------------------- log4j.rootLogger=INFO,conApp,errorLog,infoLog
#error log
log4j.appender.errorLog=org.apache.log4j.DailyRollingFileAppender
log4j.appender.errorLog.Threshold=ERROR
log4j.appender.errorLog.File=e:/log4e.log
log4j.appender.errorLog.layout=org.apache.log4j.PatternLayout
log4j.appender.errorLog.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c - %m%n
#end of error log
这样配置 --------------------编程问答-------------------- 多谢你的建议!
原先的properties文件是这样的:
log4j.rootLogger=ERROR,console
log4j.logger.testLogger=,file
修改成如下就可以在文件中显示错误信息啦
log4j.rootLogger=ERROR,console,file
还是不知道之前的那种用testLogger来产生file appender的方式为什么不行,我是参照孙鑫Java Web开发那本书写的。
会不会是因为rootLogger和testLogger的级别不同导致的?求高手不吝赐教!
--------------------编程问答-------------------- log4j.rootLogger=ERROR,console
log4j.logger.testLogger=,file
第一段有问题,根日志没有指定file,也就是
log4j.rootLogger=ERROR,console,file
这样就OK了 --------------------编程问答-------------------- 其实我的原意是想用testLogger日志指定file,而不是用rootLogger来指定。
testLogger是继承rootLogger的,它也是可以指定file为appender的吧?
--------------------编程问答-------------------- log4j.logger.org这么使用,表明你使用的log4j的源程序来自log4j包(org.logger.log4j)。
补充:Java , Web 开发