使用log4j和FileAppender
时遇到一个小问题。当我使用ConsoleAppender
时,一切正常,但FileAppender
将不会生成文件(或写入文件)。而且,我在osgi控制台中没有关于log4j的错误。
这是我的配置:
# main link (console or file, depending on what we want)
# log4j.category.com.foo=DEBUG, console
log4j.category.com.foo=DEBUG, file
# log4j.category.com.foo=DEBUG, console, file
# console logging
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%-4r %-5p %c %x - %m%n
# file logging
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=C:\\Users\\foo\\some_file.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%-4r %-5p %c %x - %m%n
请注意,ConversionPattern
属性在两个appender中完全相同。
我试图更改File
参数以在“运行”目录中写入日志,但它没有做任何事情。
我还尝试添加log4j.appender.file.ImmediateFlush=true
但没有成功。
我错过了什么(显而易见的?)某处?听起来奇怪的是log4j甚至无法在文件中写一个简单的日志....
非常感谢您的帮助。
答案 0 :(得分:4)
替换:
log4j.category.com.foo=DEBUG, console
通过:
log4j.category.com.foo=DEBUG, console, file
答案 1 :(得分:0)
我知道这是旧的,但对于其他Google员工...... 对我来说,它只是使用错误的包。 我使用org.apache.logging.log4j而不是org.apache.log4j 如果你使用Maven,请使用:
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>