Log4j登录catalina-date.log

时间:2012-05-22 07:59:46

标签: tomcat logging log4j

我有一个servlet,我想登录文件: catalina-<日期> .log 。配置文件 log4j.properties (位于catalina.home / lib中)与http://tomcat.apache.org/tomcat-6.0-doc/logging.html(log4j段落)中的相同:

log4j.appender.CATALINA=org.apache.log4j.DailyRollingFileAppender
log4j.appender.CATALINA.File=${catalina.base}/logs/catalina.
log4j.appender.CATALINA.Append=true
log4j.appender.CATALINA.Encoding=UTF-8
# Roll-over the log once per day
log4j.appender.CATALINA.DatePattern='.'yyyy-MM-dd'.log'
log4j.appender.CATALINA.layout = org.apache.log4j.PatternLayout
log4j.appender.CATALINA.layout.ConversionPattern = %d [%t] %-5p %c- %m%n

问题是它没有登录 catalina-<日期> .log ,但在 catalina 。看来appender配置不正确。 catalina 文件似乎是从配置中的 log4j.appender.CATALINA.File = $ {catalina.home} / logs / catalina。创建的。

任何人都可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

如果你想在使用启动脚本启动Tomcat时在win32上旋转logs / catalina.out,一个选项是安装一个记录日志的记录器,例如chronolog(可能只是* NIX),然后将catalina.out修改为 pipe 标准输出到该进程,而不是重定向到文件。

更新:一个更好的选择(通常在win32上)可能是使用Tomcat的服务安装程序并运行Tomcat作为服务,但我不相信这会让你的日志更容易旋转文件。

当然,最好的选择是不要首先写入标准输出以避免需要旋转此日志文件。