如何动态更改log4j日志文件?

我想要一个log4j配置,使日志文件名应该像$ {System-name} log.log一样。 即如果应用程序在任何系统上启动,则无需更改配置文件或代码。 它应该生成所提到的日志文件名。 谢谢。

我是这样做的:
1)init logger by:

System.setProperty("my.logsDir", vcsLogsDir); DOMConfigurator.configure("c:/log4j.xml"); 

2)在log4j.xml中我使用变量:

 d 

您可以将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)添加自己的属性。