2013-01-06 28 views
1

我在寫一個小型實用程序庫,我需要做一些日誌記錄。我不想強制用戶必須使用特定的日誌框架,例如Log4J或commons-logging,那麼我應該使用SLF4J幷包含所有的橋接器,以便它們與它們正在使用的任何內容集成在一起?或者我應該只使用java.util.logging?我應該提到,這也是一個Maven項目。實用程序庫的日誌記錄標準

回答

4

就個人而言,對於這種情況,我只有以下運行時依賴性:

<dependency> 
    <groupId>org.slf4j</groupId> 
    <artifactId>slf4j-api</artifactId> 
</dependency> 

而且這些測試:

<dependency> 
    <groupId>ch.qos.logback</groupId> 
    <artifactId>logback-core</artifactId> 
    <scope>test</scope> 
</dependency> 
<dependency> 
    <groupId>ch.qos.logback</groupId> 
    <artifactId>logback-classic</artifactId> 
    <scope>test</scope> 
</dependency> 

因此,當有人想用我,他們只有包括他們的伐木實施的橋樑。

編輯:我使用的依賴管理,這就是爲什麼版本缺少:)

+0

這就是我想的,我只想讓社區參與。 :) –

1

是的,這是不幸的是,有這麼多不同的日誌框架有...

如果你想避免搭售你的客戶到特定的日誌實施,那麼slf4j是最好的選擇。另一種選擇是Apache Commons Logging,但它有嚴重的問題;見http://articles.qos.ch/thinkAgain.html

(如果你使用的java.util.logging你違反了你的基本要求...)


的另一種方法是在資料庫中沒有做任何記錄都沒有。