how to change the log4j log file dynamically?
I want to have a log4j configuration such that the log file name should have like ${System-name}log.log. that is if the application is launched on any system then without changing the configuration file or code. 开发者_JAVA技巧it should generate the log file name as mentioned. thanks.
I do it this way:
1) init logger by:
System.setProperty("my.logsDir", vcsLogsDir);
DOMConfigurator.configure("c:/log4j.xml");
2) in log4j.xml i use variable:
<param name="File" value="${my.logsDir}Default.log"/>d
You can use Java system properties with the ${property}
syntax. There are number of system properties that are defined by default including
"os.arch" Operating system architecture
"os.name" Operating system name
"os.version" Operating system version
For a full list of default properties see API of System or list them with System.getProperties().list(System.out)
.
If the default properties won't do then you'll have top add your own properties using System.setProperty(property, value)
.
精彩评论