【发布时间】:2014-12-03 09:05:48
【问题描述】:
我们有一个遗留的 Java 应用程序,在 Tomcat 上运行。它以某种不一致的方式记录其事件,有时甚至依赖于 System.out/err。这些 stdout/stderr 记录最终在 catalina.log 中与“正确记录的”事件混合在一起。我们想将 stdout/stderr 日志流分离到单独的文件中(并最终摆脱它们),但我们不知道该怎么做。服务器运行默认的 JULI 配置,但我们对任何其他选项(例如 SLF4J + Logback)持开放态度。
【问题讨论】:
-
您是否在寻求有关如何将日志框架附加到应用程序的建议?您是否要修改应用程序的源以重定向日志,或者您是否正在寻找一种方法来在它已经部署后重定向它的日志记录(因为这似乎非常困难)
-
我们最终会修改源代码(删除 System.out.print 并使用正确的日志记录),但现在我正在寻求有关部署配置的建议。我希望 Tomcat 不要将 stdout/stderr 混合到 catalina.log 中,而是将它们发送到其他文件。
-
那么任何高级日志框架都可以 - log4j, slf4j+logback, log4j v2, ... 只需唯一地命名记录器,用日志调用替换 Syste.out/err println() 并配置您的日志appenders 将其放入单独的文件中。
标签: java tomcat logging java.util.logging