FileAppender没有在log4j中写任何东西

时间:2011-11-21 13:11:52

标签: log4j osgi

使用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甚至无法在文件中写一个简单的日志....

非常感谢您的帮助。

2 个答案:

答案 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>