2012-11-30 55 views
0

我想在我的Java項目中包含一個外部庫,並且此庫特別使用Apache Commons Logging將消息寫入日誌記錄系統。該庫編寫了大量級別爲「info」的消息,導致日誌中出現大量無用的條目。Apache Commons Logging的編程配置

我的應用程序應該在共享環境(例如,tomcat或jetty)中部署和執行。我的問題是,如果我不能依賴properties/xml配置文件,我有什麼選項可以配置此庫的日誌級別?

+0

爲什麼你不能用戶屬性或XML配置? –

+0

我的應用程序是更大平臺的一部分。應該從日誌服務器獲取日誌系統,根據規則進行調整並且不會造成任何麻煩。 – Erik

回答

3

Apache Commons Logging不是一個真正的日誌庫,它只是一個代表底層日誌庫的外觀,如Log4J或java.util.logging。所以首先你必須發現你使用的是哪個庫實際上是。取決於適用的不同配置選項。

我的建議是添加替換commons-logging.jarSLF4J bridge,然後使用任何你想要的框架。

+1

我建議看一下SLB4J實現的LogBack。 – GreyBeardedGeek

+0

SLF4J和JCL之間存在不匹配。在JCL(和Log4J)中,記錄的對象是一個java.lang.Object,但在SLF4J(和Logback)中它是一個java.lang.String。如果他使用JCL將對象傳遞給偵聽器,則通過使用SLF4J橋丟失對象(在橋中調用String.valueOf())。 –

+0

@AmirPashazadeh:有趣,但是這不是最終每個日誌框架必須做什麼嗎?我的意思是在對象上調用'.toString()'? –

相關問題