Я пытаюсь настроить приложение RollingFile в tomcat 7.0.23 с log4j2 (2.0.2) с 10 файлами журнала.Log4j2: Подстановка свойств работает неправильно для filePattern в приложении RollingFile
Я использую в файлеPattern $ {sys: catalina.base}, он не работает, и файлы журнала помещаются в каталог tomcat/bin/$ {sys: catalina.base} /.
Интересная часть состоит в том, что первый файл журнала (без номера) создается нормально, под tomcat/logs - это означает, что ему удастся сопоставить атрибут filename с реальным путем.
Когда я заменяю $ {sys: catalina.base} на filePattern = "C: /apache-tomcat-7.0.23/logs/app.%i.log", он работает.
<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
<Appenders>
<Console name="CONSOLE" target="SYSTEM_OUT">
<PatternLayout pattern="%d %-5p [%X{REQ_ID}] [%c{1}] %m%n"/>
</Console>
<RollingFile name="FILE" fileName="${sys:catalina.base}/logs/app.log"
filePattern="${sys:catalina.base}/logs/app.%i.log">
<PatternLayout pattern="%d %-5p [%X{REQ_ID}] [%c{1}] %m%n"/>
<Policies>
<SizeBasedTriggeringPolicy size="10 MB" />
</Policies>
<DefaultRolloverStrategy max="10"/>
</RollingFile>
</Appenders>
<Loggers>
<Root level="info">
<appender-ref ref="CONSOLE" />
<appender-ref ref="FILE" />
</Root>
</Loggers>
</Configuration>
Значение, которое filePattern не интерпретировано должным образом.
Как преодолеть это, не указывая статически каталог журнала?
Спасибо за помощь
Я вижу то же самое. – andersonbd1
Я врылся в источник и заметил, что filePattern обрабатывается так же, как fileName ..., а затем я понял, что я нахожусь в Windows и использовал «\» s ..., который log4j не нравится (он должен «не использовать», т). Во всяком случае, в моем случае это была * не проблема с log4j - это была проблема * my *. – andersonbd1