[英]Log4j different .property files for Appenders
我想知道是否有一種方法可以在不同於定義實際日志記錄屬性的文件上定義附加程序(文件,控制台等)。 這個想法來自我正在開發的系統,我們有以下要求:不同版本的系統將部署在同一服務器上。 因此,為了不維護不同的log4j屬性文件,所有文件都將設置相同的屬性,並在文件追加程序上有所不同(以便知道從哪個版本的系統記錄了哪個日志)。 先感謝您
您可以使用DOMConfigurator或PropertyConfigurator從外部文件加載log4j設置。 您可以在一次運行中多次調用此API,以從其他來源加載設置。
在您的情況下,您可以根據版本從另一個屬性文件單獨動態加載Appender詳細信息,就像在文件名中添加一些版本ID並以通用方式從代碼中加載它一樣。
如果每個版本在不同的VM進程 (不同的端口)上運行,則可以向虛擬機添加參數。 例如:
-Dmysystem.version=1.0.1
如果您使用的是XML配置:
<param name="file" value="/logs/system.v${mysystem.version}.log" />
如果使用的是屬性:
log4j.appender.ROLL.File=/logs/system.v${mysystem.version}.log
在這兩種情況下,生成的文件可能是:
/logs/system.v1.0.1.log
這樣,您可以維護單個配置文件和動態文件名。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.