假設我們構建了一個 Java SDK,不同的項目可以通過將其作為 jar 添加到類路徑中,或者將其作為依賴項添加到 maven pom.xml 或 gradle 文件中來使用。當其他項目使用此庫時,SDK 中的日志在運行時不可見。我嘗試了SL4J,但當其他項目使用它時,沒有任何日志在運行時可見。我應該使用log4j2嗎?如果是,我是否應該在 SDK 中提供 log4j 配置/屬性文件?屬性/配置是否會在運行時從使用者庫中選取?對此的最佳實踐是什么?您能提供建議嗎?
1 回答

桃花長相依
TA貢獻1860條經驗 獲得超8個贊
最佳實踐#1:永遠不要在jar中包含日志記錄配置文件。
使用您的庫的應用程序可能希望提供自己的日志記錄配置。如果其中一個jar包含不同的配置,那么這些應用程序就會成為一個“有趣”的猜謎游戲,以找出為什么它們的配置不起作用。(根據類路徑順序,它們的配置有時可能優先于庫中的配置,因此有時它可以工作,只是為了使其更具挑戰性...)
添加回答
舉報
0/150
提交
取消