我可以让日志进入控制台,但我似乎无法进入日志文件。这是我的properties
文件。
log4j.rootLogger=DEBUG, LOG , stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p %d{d/MM/yy HH:mm:ss}:%m%n
# log4j.appender.LOG.Threshold=INFO
log4j.appender.LOG=org.apache.log4j.RollingFileAppender
log4j.appender.LOG.File=C:\dev\harry\data\logs\core.log
log4j.appender.LOG.layout=org.apache.log4j.PatternLayout
log4j.appender.LOG.Append=true
log4j.appender.LOG.layout.ConversionPattern=%5p %d{d/MM/yy HH:mm:ss}:%m%n
# log4j.appender.LOG.Threshold=INFO
答案 0 :(得分:5)
问题是你的单个\应该是\\。在大多数属性文件中都是如此。
答案 1 :(得分:1)
文件路径中的\有一些问题需要修复。语法有点神秘,但是记录到多个位置的方法是将命名的日志记录附加程序附加到根记录器。在这个例子中,这是:
log4j.rootLogger=DEBUG, LOG , stdout
DEBUG
是用于根记录器的日志记录级别(阈值过滤器)。
LOG
是日志记录附加程序的名称
stdout
是第二个appender的名称
日志记录追加者由
指定log4j.appender.{logging-appender-name}={some.log4j.appender.class}
log4j.appender.{logging-appender-name}.{some-other-property}=...
{logging-appender-name}
是您自己选择的名称(在本例中为LOG和标准输出),而{some.log4j.appender.class}
是众多log4j logging appender classes之一,例如DailyRollingFileAppender或{{ 3}}
答案 2 :(得分:0)
我会补充说: log4j.appender.LOG.Threshold = ALL
我不确定默认值是什么。