我想知道是否有一種方法來定義appenders(文件,控制檯等)在一個不同的文件,而不是定義實際的日誌記錄屬性。 這個想法來自我正在開發的系統,我們有以下要求: 不同版本的系統將部署在同一臺服務器上。所以爲了不保留不同的log4j屬性文件,它們都會設置相同的屬性,並在文件appender上有所不同(以便知道從哪個版本的系統記錄哪個日誌)。 預先感謝您Log4j不同的屬性文件的Appenders
2
A
回答
1
您可以使用DOMConfigurator或PropertyConfigurator從外部文件加載您的log4j設置。您可以在運行時多次調用此API以從不同來源加載設置。
在你的情況下,你可以從另一個基於版本的屬性文件動態地加載Appender細節。只需將一些版本ID後綴到文件名並以通用的方式從代碼加載它。
0
如果在不同虛擬機進程(在不同的端口上)上運行的每個版本都可以向虛擬機添加參數。例如:
-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
這樣,你可以n維護一個配置文件和動態文件名。
+0
不幸的是,情況並非如此,因爲它們運行在不同的虛擬主機上,而不是不同的端口 – airmil
+0
幸運的是,它可以工作,甚至可以對每個文件添加主機名。 –
相關問題
- 1. Log4J不同閾值的多個appenders
- 2. 多個appenders log4j性能
- 3. 登錄到S3的Log4j appenders
- 4. Log4j appenders春天DependencyInjectionTestExecutionListener
- 5. Log4j,不同的appenders,相同的包和一個單獨的類,寫入不同的文件?
- 6. Log4j屬性文件配置
- 7. log4j屬性文件選擇
- 8. Log4j使用屬性文件的不同日誌級別的不同appender
- 9. Log4J無法找到appenders
- 10. logback是否支持log4j appenders?
- 11. log4j屬性文件中的StringToMatch
- 12. log4j每天的屬性文件
- 13. Log4j每月備份的屬性文件
- 14. log4j拾取錯誤的屬性文件
- 15. Log4j,禁用依賴於環境的appenders
- 16. Log4j的不是找不到配置屬性文件中
- 17. 使用屬性文件配置Log4j不會創建文件
- 18. commons-logging和log4j屬性文件
- 19. Liferay Portlet Log4j屬性文件配置
- 20. 未找到Log4J屬性文件
- 21. 如何設置log4j屬性文件?
- 22. log4j屬性文件:如何配置?
- 23. 的log4j找不到屬性文件由JAR
- 24. Maven:不同配置文件的不同屬性文件
- 25. 從log4j appender的WEB-INF文件夾加載屬性文件
- 26. Log4j寫在不同的文件
- 27. 無法登錄不同的文件:Log4j
- 28. 如何從一個控制器登錄到不同的appenders w/Grails&log4j
- 29. Log4j:多個記錄器,級別和appenders
- 30. 以編程方式添加Log4J appenders
每個版本是否在單獨的JVM中運行? –
是的,但不是在不同的容器上。 – airmil