我正在編寫一個庫,並使用sfl4j來處理日誌記錄。SLF4J最佳實踐
我認爲這是個好主意,只要每個人都可以提供它自己的實現,然後我的應用程序提供的日誌將被正確處理。
但我不知道我是否必須提供一個實現作爲傳遞依賴或不。
例:
如果我只規定:
<dependencies>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.6.1</version>
</dependency>
</dependencies>
我的lib可以選擇實現的用戶,但如果他只是添加我的lib沒有讀取配置,它不會工作
否則,如果我提供了:
<dependencies>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.6.1</version>
</dependency>
</dependencies>
我的lib將只是在向它添加依賴時正常工作,但如果用戶想使用其他slf4j,他將不得不排除我的。
你對此有何評論?
這是一個maven問題嗎?如果是這樣,請標記爲 –
謝謝,對我的我來說,這是一個普遍的問題,但在我的例子中,我使用maven。所以我應該標記它;) – Christophe
當你說如果你不提供一個實現,它不會工作,你的意思是你的庫不工作或日誌記錄不工作? – Ceki