【问题标题】:Can you make the Tomcat 6 stdout.log file behave like a log4j DailyRollingFileAppender?你能让 Tomcat 6 stdout.log 文件表现得像 log4j DailyRollingFileAppender 吗?
【发布时间】:2010-01-06 18:33:15
【问题描述】:

我们使用的是 Windows 安装的 Tomcat 6。默认情况下,我们的应用程序的 log4j 输出到 ${catalina.base}/logs/stdout_.log 文件。这个日志文件只有在我们重启 Tomcat 时才会翻转,并且文件名总是包含日期。

我希望它表现得像 DailyRollingFileAppender,它会在滚动时重命名文件……这样我就可以打开 Notepad++ 并查看今天的日志,因为 Notepad++ 会记得我昨天打开了同一个文件。 :)

我知道我可以在 log4j 中创建另一个附加程序,但我最终会得到 stdout.log 和另一个日志文件,而且我担心记录到这两个文件会对性能造成轻微影响。我尝试将swallowOutput=true 添加到我的context.xml 中,但我仍然可以在stdout.log 中记录所有内容。有什么想法吗?

【问题讨论】:

    标签: java tomcat logging log4j rollingfileappender


    【解决方案1】:

    您是否尝试过Logging in Tomcat 中列出的步骤?如果您按照这些步骤操作,您最终会在 lib 目录中获得 log4j.properties,您可以根据自己的喜好对其进行自定义。

    【讨论】:

      【解决方案2】:

      最大的性能损失是在准备要记录的对象时(您知道,当您执行logger.info(" operating on " + myObject.toString + " bla bla bla" ) 时,执行myObject.toString() 的成本最高)。如果您已经拥有它们,那么登录到文件不是问题。而且log4j的平衡和优化非常好,它使用缓冲区来写入日志,所以不会对文件系统进行过于频繁的调用。

      只需创建另一个附加程序,您将与 tomcat 日志和您的应用程序日志有所不同。你有多少日志?一天1GB以上你怕性能损失?在测试之前不要假设任何事情。只需设置,并进行某种性能测试。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-12-09
        • 2021-03-08
        • 1970-01-01
        相关资源
        最近更新 更多