问题描述
我使用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>
问题描述
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>