需求背景
jul 指的是java.util.logging,是 java 內(nèi)置的日志模塊,目前流行的Java日志組件還包括 jcl(common-logging)、slf4j/log4j/logback 等等
不同日志框架的定位和特性都存在差異,如 jcl、slf4j 提供的是日志門面(api)定義,log4j、logback則側(cè)重于實現(xiàn)。
通常一個團隊會采用統(tǒng)一的日志組件,slf4j 目前的受歡迎程度較高,其在易用性、可移植性方面都優(yōu)于jul;
然而項目中采用的一些開源組件可能直接采用了jul 進行日志輸出,為保證日志的統(tǒng)一配置管理,需將其遷移到slf4j 日志框架上;
關(guān)鍵要求
不改動現(xiàn)有開源組件代碼;
按需進行遷移,不影響其他模塊的 logging 記錄;
模塊支持可插拔,可動態(tài)集成和撤銷;