как динамически изменить файл журнала log4j? - PullRequest
4 голосов
/ 10 августа 2011

Я хочу иметь конфигурацию log4j, такую, чтобы имя файла журнала было похоже на $ {System-name} log.log. то есть если приложение запускается в любой системе, то без изменения файла конфигурации или кода. это должно генерировать имя файла журнала, как упомянуто. спасибо.

Ответы [ 2 ]

2 голосов
/ 10 августа 2011

Вы можете использовать системные свойства Java с синтаксисом ${property}.Существует ряд системных свойств, которые определены по умолчанию, включая

"os.arch"     Operating system architecture
"os.name"     Operating system name
"os.version"  Operating system version

Полный список свойств по умолчанию см. В API System или перечислите их с System.getProperties().list(System.out).

*.1009 * Если свойства по умолчанию не подойдут, вы можете добавить свои собственные свойства, используя System.setProperty(property, value).
2 голосов
/ 10 августа 2011

Я делаю это так:
1) init logger by:

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

2) в log4j.xml я использую переменную:

<param name="File" value="${my.logsDir}Default.log"/>d
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...