2013-08-17 21 views
1

我在tomcat6中部署我的應用程序。tomcat覆蓋logging.properties包含在共享庫中

我的war文件中的一個共享jar包含一個logging.properties,它覆蓋了tomcat提供的 日誌記錄。

有什麼方法可以通過自定義logging.properties文件覆蓋共享jar中的logging.properties文件。

UPDATE:

我在JVM啓動命令行這一說法

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

,但它似乎並沒有被覆蓋包含在共享jar文件的文件。

+0

你正在尋找從tomcat或從你自己的應用程序類中記錄的東西嗎? – EGHM

+0

如果您不需要,請刪除共享庫logging.properties文件。 –

+0

共享庫作爲maven依賴項。我不想創建另一個版本來刪除logging.properties。我相信必須有一個更好的覆蓋方式。 –

回答

2

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文檔中描述的默認值。