tomcat - log4j 登录 catalina-date.log

标签 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. 创建的。

谁能帮我解决这个问题?

最佳答案

如果您想在使用启动脚本启动 Tomcat 时在 win32 上轮换 logs/catalina.out,一个选择是安装一个日志评级记录器,例如 chronolog(这可能是 *NIX 独有的东西),然后修改 catalina.out 以将标准输出管道到该进程,而不是重定向到文件。

更新:更好的选择(通常在 win32 上)可能是使用 Tomcat 的服务安装程序并将 Tomcat 作为服务运行,但我认为轮换日志不会让事情变得更容易文件。

当然,最好的选择是一开始就不要写入标准输出,以避免需要轮换此日志文件。

关于tomcat - log4j 登录 catalina-date.log,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10698036/

相关文章:

java - 将 Tapestry jar 部署到tomcat lib目录中是错误的吗?

python - 在python中获取日志级别

.net - Apache log4net : How to set CC and BCC addresses to SmtpAppender from config file

java - 寻求一种轻量级但灵活的解决方案来使用 log4j 记录方法进入和退出(可能通过异常)

Log4j - 优先级值和参数名概念解释

在托管环境中的tomcat上上传java文件

tomcat - BodyContentImpl jsp标签内存泄露问题

eclipse - 如何解决此 "No such property [target] in org.apache.log4j.FileAppender"和 "No output stream or file set for the appender named"错误?

java - 我的 Java 应用程序是否在 OpenShift 上运行

java - Logback 给出错误 Cannot cast object '3 gb' with class 'java.lang.String' to class 'ch.qos.logback.core.util.FileSize'