FileAppender没有在log4j中写入任何东西[英] FileAppender not writing anything in log4j

本文是小编为大家收集整理的关于FileAppender没有在log4j中写入任何东西的处理/解决方法,可以参考本文帮助大家快速定位并解决问题,中文翻译不准确的可切换到English标签页查看源文。

问题描述

我使用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属性在两个附录中完全相同.

我试图更改File参数以在"运行"目录中写入日志,但没有做任何事情. 我还尝试添加log4j.appender.file.ImmediateFlush=true而没有成功.

我错过了某个地方(显而易见的?)吗? Log4j甚至无法在文件中写入一个简单的日志听起来很奇怪.

预先感谢您的帮助.

推荐答案

替换:

 log4j.category.com.foo=DEBUG, console

:

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

其他推荐答案

我知道这是旧的,但是对于其他Googles ... 对我来说,这只是使用错误的软件包. 我使用org.apache.logging.log4j而不是org.apache.log4j 如果您使用的是Maven,请使用以下方式:

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

本文地址:https://www.itbaoku.cn/post/1575049.html

问题描述

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.

推荐答案

Replace :

 log4j.category.com.foo=DEBUG, console

By :

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

其他推荐答案

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>