【发布时间】:2011-10-12 12:44:33
【问题描述】:
有没有办法将所有标准输出记录到 Tomcat 中的 catalina.log 文件中? (即打印到 System.out.println() 的所有内容)
运行TOMCAT/bin/startup.bat 时打开的控制台窗口显示来自标准输出的输出,但它没有保存到TOMCAT/logs/catalina.<date>.log。
我的具体问题是我在 log4j 中定义了一个控制台附加程序以输出到控制台。这些日志消息正确显示在 Tomcat 控制台窗口中,但它们不会写入 catalina.log。我在 Windows 上运行 Tomcat 5.5。谢谢。
编辑:
这是我的 log4j.properties 文件。它位于TOMCAT/webapps/app/WEB-INF/classes/log4j.properties:
log4j.rootCategory=DEBUG, console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=[%d{ABSOLUTE} %-5p %c{1}]: %m%n
【问题讨论】:
-
当您将tomcat作为Windows服务而不是使用启动bat启动时,它是否会记录到catalina.log?
-
@Gandalf 我不知道。我不想将它作为服务运行。
-
你在哪里配置了控制台附加程序的 log4j?每个 Web 应用程序还是在 tomcat 本身上?
-
@Gandalf 它在我的网络应用程序中。所以它位于:
TOMCAT/webapps/app/WEB-INF/classes/log4j.properties -
@Gandalf Tomcat 似乎使用 java.util.logging...log4j 是否可能不兼容?