开发者

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).

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜