我想要有一個log4j配置,以便日誌文件名應該像$ {System-name} log.log一樣。即如果應用程序在任何系統上啓動,則不更改配置文件或代碼。它應該如上所述生成日誌文件名稱。 謝謝。如何動態更改log4j日誌文件?
回答
我做這種方式:
1)初始化記錄者:
System.setProperty("my.logsDir", vcsLogsDir);
DOMConfigurator.configure("c:/log4j.xml");
2)中的log4j.xml我使用變量:與
<param name="File" value="${my.logsDir}Default.log"/>d
你能告訴我,它可以如何設置log4j.xml文件的相關路徑而不是絕對路徑例如:DOMConfigurator.configure(「../log4j.xml」)。謝謝。 – Channa
您可以完全按照您的寫法設置相對路徑(「../log4j.xml」)。它會找到你的log4j.xml相對於你的工作目錄。 –
感謝您的反饋。我用ContextClassLoader得到它:DOMConfigurator.configure(Thread.currentThread()。getContextClassLoader.getResource(「。」)。getPath()+「log4j.xml」) – Channa
您可以使用Java系統特性${property}
語法。有跡象表明,在默認情況下定義的系統屬性的數量,包括
"os.arch" Operating system architecture
"os.name" Operating system name
"os.version" Operating system version
對於默認屬性的完整列表,請參閱的System API或System.getProperties().list(System.out)
一一列舉。
如果默認屬性不行,那麼您將使用System.setProperty(property, value)
頂部添加自己的屬性。
- 1. Log4J動態創建日誌文件
- 2. Log4j - 日誌文件
- 3. 如何在log4php中動態更改日誌文件名?
- 4. 動態更改log4j日誌級別,無需configureAndWatch
- 5. 手動旋轉log4j日誌文件
- 6. 如何使用Log4j更改軟件包的日誌級別?
- 7. log4j的 - 空日誌文件 -
- 8. log4j javax.mail.MessagingException日誌到文件
- 9. Log4j不寫日誌文件
- 10. 解析log4j日誌文件
- 11. Grails Log4j空日誌文件
- 12. 多個log4j日誌文件
- 13. 更改日誌文件的動態文件路徑.NET Core + NLog
- 14. Log4j 2日誌正在寫入Log4j日誌文件
- 15. 如何在日誌文件log4j中只寫入INFO日誌?
- 16. 如何使用AspectJ動態更改Log4j輸出文件名
- 17. 在log4j中使用MDC動態命名日誌文件
- 18. 使用Log4j的日期日誌文件
- 19. Log4j 1.2.17 - 如何根據文件大小執行日誌滾動
- 20. 如何手動旋轉log4j日誌
- 21. Log4j:旋轉日誌文件,即使文件沒有改變
- 22. 動態更改日誌記錄級別
- 23. 如何更改日誌記錄輸出的顏色log4j
- 24. Restlet 2.1如何將日誌記錄更改爲log4j
- 25. 如何使用log4j在日誌文件中獲取文件名?
- 26. 如何使用Log4J SMTPAppender動態更改電子郵件主題?
- 27. 修改滾動日誌文件名以在log4j中包含日期
- 28. 如果正在滾動,請配置log4j日誌文件名稱?
- 29. 我的log4j日誌文件太大
- 30. Scala:用log4j寫日誌到文件
請參閱:http://stackoverflow.com/questions/201188/using-system-environment-variables-in-log4j-xml-configuration –