2

我在tomcat6中部署我的应用程序。

我的 war 文件中的一个共享 jar 有一个 logging.properties,它覆盖了 tomcat 提供的日志记录。

有没有办法通过自定义 logging.properties 文件覆盖共享 jar 中的 logging.properties 文件?

更新:

我在 jvm start 命令行中看到了这个语句

-Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties,

但它似乎没有覆盖共享 jar 文件中包含的文件。

4

1 回答 1

4

根据Tomcat 6 日志记录文档,日志记录配置如下:

  • 在全球范围内。这通常在 ${catalina.base}/conf/logging.properties 文件中完成。该文件由启动脚本设置的 java.util.logging.config.file 系统属性指定。如果不可读或未配置,则默认使用 JRE 中的 ${java.home}/lib/logging.properties 文件。
  • 在网络应用程序中。该文件将是 WEB-INF/classes/logging.properties

如果共享库将 logging.properties 放在 WEB-INF/classes 中,则必须将其删除。如果它没有放在那里,那么共享库包含调用LogManager.readConfiguration的代码。如果是这种情况,您应该能够LogManager.getLogManager().reset()在加载共享库后调用。这将强制配置恢复为 Tomcat 文档中描述的默认值。

于 2014-07-31T13:30:31.357 回答