【问题标题】:Lack of order log4j output缺少命令 log4j 输出
【发布时间】:2015-04-17 05:28:23
【问题描述】:

我的系统由 3 个运行在 3 个不同 linux 帐户下的 tomcat 组成。每个 tomcat 至少有 1 个 web 应用程序。在 tomcat/lib 和源文件夹中可以找到多个 log4j.properties。在 catalina.out 中查看打印时,我发现来自附加程序甚至来自另一个 tomcat 实例的打印,这就是我的问题。 我知道我的问题听起来有点模糊,但我也不期待具体的答案。 你能指导我看一篇好文章,解释 log4j 流如何在如此复杂的系统中运行吗?或者也许是调试这种情况的有效方法?

【问题讨论】:

    标签: tomcat log4j


    【解决方案1】:

    catalina.out 用于存储来自 Tomcat 实例的 stdout 和 stderr 输出。从您所说的看来,似乎每个 Tomcat 实例都碰巧写入相同的catalina.out(类似于/var/log/tomcat7/catalina.out)。

    您最好为每个应用程序设置 log4j 以写入不同的日志文件。您可以使用FileAppender 执行此操作。有关示例,请参阅this post

    【讨论】:

      【解决方案2】:

      取决于您的配置。如果您复制了 tomcats 文件夹并进行了“3”独立安装,那么您应该拥有独立日志。在/conf/logging.properties 中有配置。 很可能您为整个系统设置了一次 CATALINA_HOME,因此您的 3 个 tomcat 共享这些路径,并且都将写入 CATALINA_HOME/logs 下的相同日志。 如果 CATALINA_HOME 缺失,则启动脚本将自动发现主目录,并且每个脚本都将使用不同的 /log 目录启动。或者可能会使用您的启动脚本设置了唯一值。

      【讨论】:

        猜你喜欢
        • 2011-09-30
        • 2012-04-17
        • 1970-01-01
        • 2016-07-04
        • 2013-07-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-01-12
        相关资源
        最近更新 更多