У меня простой вопрос.
Как динамически указывать имя файла журнала из кода?
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn" name="MyApp" packages="">
<Appenders>
<RollingFile name="RollingFile" fileName="${logfilename}.log"
filePattern="logs/$${date:yyyy-MM}/app-%d{yyyy-MM-dd-HH}-%i.log.gz">
<PatternLayout>
<Pattern>%d %p %c{1.} [%t] %m%n</Pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy interval="6" modulate="true"/>
<SizeBasedTriggeringPolicy size="250 MB"/>
</Policies>
</RollingFile>
</Appenders>
<Loggers>
<Root level="error">
<AppenderRef ref="RollingFile"/>
</Root>
</Loggers>
Здесь имя файла logs / app.log .
- Как сделать его динамичным с добавлением даты и времени в имени файла?Хотя шаблон применяется, но он не работает.
- Здесь logs - это каталог, который автоматически создается библиотекой log4j, может ли он быть динамическим?
EDIT В параметре fileName
я поместил ${logfilename}.log
и установил системное свойство, как показано ниже:
System.setProperty("logfilename", "a_cool_logname");
Теперь он создает файл с именем ${logfilename}.log
, который определенно не требуется.
Спасибо