FileAppender not writing anything in log4j

大兔子大兔子 提交于 2020-03-23 01:58:07

问题


I have a small problem using log4j and FileAppender. When I am using ConsoleAppender, everything is working well but FileAppender won't ever produce a file (or write into a file). Moreover, I have no errors concerning log4j in the osgi console.

Here's my configuration :

# 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

Note that the ConversionPattern attributes are exactly the same in the two appenders.

I have tried to change the File argument to write the log in the "run" directory but it didn't do anything. I also tried to add log4j.appender.file.ImmediateFlush=true without success.

Have I missed something (obvious ?) somewhere ? It sound strange that log4j isn't even able to write a simple log in a file....

Thanks a lot in advance for your help.


回答1:


Replace :

 log4j.category.com.foo=DEBUG, console

By :

 log4j.category.com.foo=DEBUG, console, file



回答2:


I know this is old but for other Googlers... For me it was simply using wrong package. I used org.apache.logging.log4j instead org.apache.log4j If you are using Maven use this:

    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.17</version>
    </dependency>


来源:https://stackoverflow.com/questions/8212368/fileappender-not-writing-anything-in-log4j

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!