【发布时间】:2011-07-04 07:36:14
【问题描述】:
我正在开发一组网络服务,我们希望有一个每日轮换日志。
我正在尝试从 log4j extras 同伴工作中获取 org.apache.log4j.rolling.RollingFileAppender,因为文档表明这最适合生产环境。
我在类路径上有主 log4J 库 (log4j-1.2.15.jar) 和 log4j extras 库 (apache-log4j-extras-1.1.jar)。
log4j.properties 文件中的 appender 有以下配置:
### SOAP Request Appender
log4j.appender.request=org.apache.log4j.rolling.RollingFileAppender
log4j.appender.request.File=SOAPmessages.log
log4j.appender.request.RollingPolicy=org.apache.log4j.rolling.TimeBasedRollingPolicy
log4j.appender.request.RollingPolicy.ActiveFileName =SOAPmessages-%d.log
log4j.appender.request.RollingPolicy.FileNamePattern=SOAPmessages-%d.log.zip
log4j.appender.request.layout = org.apache.log4j.PatternLayout
log4j.appender.request.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
但是,当我在调试模式下使用 log4j 启动 Web 服务时,我收到以下错误消息:
log4j: Parsing appender named "request".
log4j: Parsing layout options for "request".
log4j: Setting property [conversionPattern] to [%d{ABSOLUTE} %5p %c{1}:%L - %m%n].
log4j: End of parsing for "request".
log4j: Setting property [file] to [/logs/SOAPmessages.log].
log4j:WARN Failed to set property [rollingPolicy] to value "org.apache.log4j.rolling.TimeBasedRollingPolicy".
log4j:WARN Please set a rolling policy for the RollingFileAppender named 'request'
log4j: Parsed "request" options.
我发现有关如何配置此附加程序的文档有点少,所以谁能帮我修复我的配置?
EDIT0:添加了调试模式输出,而不仅仅是标准警告
【问题讨论】:
-
为了解决这个问题,我想你可以尝试打开Log4j调试模式,看看有没有更详细的错误信息
-
不是一个答案,只是一个建议。你真的应该看看logback。它比 log4j 灵活得多。
-
仅供参考:此问题已在 log4j v1.2.16 中修复。它现在支持通过属性文件设置 rollingPolicy。 issues.apache.org/bugzilla/show_bug.cgi?id=36384