【问题标题】:tomcat override logging.properties include in a shared librarytomcat 覆盖 logging.properties 包含在共享库中
【发布时间】:2013-08-17 00:27:38
【问题描述】:

我在 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 文件中包含的文件。

【问题讨论】:

  • 您是要从 tomcat 还是从您自己的应用程序类中记录内容?
  • 如果不需要,请删除共享库 logging.properties 文件。
  • 共享库作为 maven 依赖项提供。我不想创建它的另一个版本只是为了删除 logging.properties。我相信必须有更好的覆盖方式。

标签: java tomcat logging


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2016-02-22
    • 1970-01-01
    • 1970-01-01
    • 2016-08-02
    • 1970-01-01
    • 1970-01-01
    • 2018-04-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多