2017-02-02 36 views
0

升級到0.9.5.2後,c3p0日誌從我們的日誌中消失。我按照這裏的指示c3p0 logging但無濟於事。升級到c3p0 0.9.5.2後,日誌消失

我在classpath下面的文件中添加了。

[c3p0.properties] 
com.mchange.v2.log.MLog=slf4j,log4j,jul,jdk14, java.util.logging,fallback 
com.mchange.v2.log.jdk14logging.suppressStackWalk=false 

回答

0

有幾件事。

  1. 我不確定這是否是你指出的。該文件應該被稱爲c3p0.properties,但文件中不應該有[c3p0.properties]。它應該是一個標準的java.util.Properties文件。
  2. com.mchange.v2.log.MLog不支持列表。如果您將c3p0保留爲默認值(完全不設置此屬性),則c3p0內部會先訂購哪個日誌記錄庫。當您設置com.mchange.v2.log.MLog時,您選擇一個庫來覆蓋該順序。所以你的c3p0.properties文件應該包含類似com.mchange.v2.log.MLog=slf4j的東西,如果slf4j是你正在使用的日誌庫。
  3. 如果事情變得非常混亂,您可以隨時嘗試com.mchange.v2.log.MLog=fallback,它只會將消息打印到標準錯誤。
  4. 離開com.mchange.v2.log.jdk14logging.suppressStackWalk的東西。除非您使用的庫不相關,否則不相關。
+0

我可以把文件放在classpath的任何地方嗎? – stanats

+0

是的,在應用程序的有效類路徑中。通常你可以在INFO檢查你的日誌來驗證你所期望的配置是否通過,但如果你沒有看到任何日誌記錄,可能不會。作爲故障安全,所以您可以查看和調試內容,您可以在啓動JVM時設置'-Dcom.mchange.v2.log.MLog = fallback'。 (你可以在系統屬性以及屬性文件中設置屬性。) –

+0

我試過你的解決方案,它工作。 – stanats

相關問題