我的應用程序中有五個不同的log4j屬性文件用於每個事件。我不希望應用程序使用DOM或PropertyConfigurator加載文件。但是我想將所有這些屬性加載到一個Map中,事件名稱爲鍵,屬性或Logger作爲值。因此,當我使用事件名稱調用getLogger方法時,將返回基於事件名稱的相應記錄器對象。LOG4J加載多個log4j文件
本文中的實現在一定程度上對我有所幫助。 log4j log file names? 它們根據作業動態創建記錄器對象。但我想爲每個事件使用靜態log4j文件並加載它並將其還原。
我也檢查了這篇文章的回覆。 multiple log4j instance configuration 但是,由於每個事件的事件名稱和appender列表在我的應用程序中將是一個巨大的數字,爲了更好的可維護性目的,我爲每個事件選擇一個log4j文件。
期待您的幫助。 謝謝, 拉迪卡
log4j確實不是爲多個配置文件設計的。我建議你使用一個配置文件和多個記錄器,每個事件一個。這將最大限度地減少您的長期維護,因爲您不必維護定製版本的log4j或使用不屬於公共API的類和方法。 –