我想要有一个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 –