有什么办法告诉log4j将其日志写入文件和控制台?谢谢,有我的财产:
log4j.rootLogger=DEBUG,console,R log4j.rootLogger=INFO, FILE log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender log4j.appender.CONSOLE.Target=System.out log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout log4j.appender.CONSOLE.layout.conversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p - %m%n log4j.appender.FILE=org.apache.log4j.RollingFileAppender log4j.appender.FILE.File=log4j.log log4j.appender.FILE.MaxFileSize=512KB log4j.appender.FILE.MaxBackupIndex=3 log4j.appender.FILE.layout=org.apache.log4j.PatternLayout log4j.appender.FILE.layout.conversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p - %m%n
您的root记录器定义有点混乱。请参阅log4j文档。
这是标准的Java属性文件,这意味着将行视为键=值对。您的第二log4j.rootLogger行覆盖了第一行,这说明了为什么在console附加程序上看不到任何内容。
log4j.rootLogger
console
您需要将两个rootLogger定义合并为一个。您似乎想让DEBUG消息进入控制台,INFO消息进入文件。根记录器只能具有 一个 级别,因此您需要更改配置,以便附加程序具有适当的级别。
rootLogger
DEBUG
INFO
虽然我没有验证这是正确的,但我猜它看起来像这样:
log4j.rootLogger=DEBUG,console,file log4j.appender.console=org.apache.log4j.ConsoleAppender log4j.appender.file=org.apache.log4j.RollingFileAppender
请注意,您在机壳中也有一个错误-一个地方是控制台小写,另一个地方是CAPS。