2011-10-08 30 views
1

我正在創建一個java開放源代碼實用程序包,我想知道是否可以將日誌記錄(如log4j)包含到該包中。將日誌記錄添加到實用程序包中

如果我將log4j包含到我的包中,我將在哪裏輸出日誌文件,我不希望日誌文件位於用戶的錯誤位置,但我仍然想創建日誌調試。

此外還有用戶希望將我的日誌集成到項目本身的問題。 以及他將如何做到這一點。

你會推薦什麼是做這件事的最好方法?

謝謝。

回答

3

我認爲正常的做法是在包中不包含Log4j Jar,並讓庫用戶決定使用哪個版本的Log4j。

此外,您不必擔心在哪裏輸出日誌文件,因爲用戶將擁有自己的log4j.properties或log4j.xml配置。

庫用戶還可以決定從庫中使用哪種級別的日誌記錄或者是否禁止它。例如,對於Amazon AWS庫,我可以告訴我只需要警告消息或者輸出過於冗長。在這種情況下,我添加到我的log4j.properties:

log4j.logger.com.amazonaws=WARN 

說,我也想提醒你,一個現代的替代log4j的是SL4J

+0

所以如果我沒有在包中包含log4j我將如何去生產日誌? – Gleeb

+1

我的意思是你使用你的log4j JAR進行開發,但是當你發佈你的JAR時你不包含它,用戶將包含他自己的。它更清楚嗎? – stivlo

+0

是的。我只是意識到,記錄器類不是log4j的一部分,但實際上是java.util的一部分,但最後一個問題是,如果用戶不在他的應用程序中包含log4j。當我寫入記錄器時會發生什麼,但是如果明白我的意思,沒有log4j來記錄我的日誌。 – Gleeb

相關問題