Я только что начал использовать log4j2 с slf4j2, но мне грозит проблема, когда я пытаюсь ежедневно создавать скользящие файлы журналов. Я могу создать активный файл журнала, но когда я меняю системную дату на один день, ведение журнала происходит в том же активном файле, который, как я думал, должен был архивировать журналы предыдущих дней в другой файл.log4j2 Не создавая журналы RollingFile
Ниже приводится log4j2.xml:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="ERROR" monitorInterval="5">
\t <Properties>
\t \t <Property name="log-path">${sys:catalina.base}/logs</Property>
\t </Properties>
\t <Appenders>
\t \t <Console name="Console" target="SYSTEM_OUT">
\t \t \t <PatternLayout
\t \t \t \t pattern="%d{dd-MMM-YYYY HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
\t \t </Console>
\t \t <RollingFile name="file-gen" fileName="${log-path}/demopro.log"
\t \t \t filePattern="${log-path}/%d{yyyy-MM}/demopro-%d{dd-MM-yyyy}.log.gz">
\t \t \t <PatternLayout
\t \t \t \t pattern="%d{dd-MMM-YYYY HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
\t \t \t <Policies>
\t \t \t \t <TimeBasedTriggeringPolicy interval="1" modulate="true" />
\t \t \t </Policies>
\t \t </RollingFile>
\t </Appenders>
\t <Loggers>
\t \t <Root level="info">
\t \t \t <AppenderRef ref="Console" />
\t \t </Root>
\t \t <Logger name="org.hkb.tryone" level="debug" additivity="false">
\t \t \t <AppenderRef ref="Console" />
\t \t </Logger>
\t \t <Logger name="org.hkb.trytwo" level="info" additivity="false">
\t \t \t <AppenderRef ref="Console" />
\t \t \t <AppenderRef ref="file-gen" />
\t \t </Logger>
\t </Loggers>
</Configuration>
Что я здесь делаю неправильно?!
Теперь, когда работает, но лишь частично. Теперь архивные файлы журнала создаются внутри каталога «bin» tomcat, а не в каталоге «C: \ Workspace \ Tools \ apache-tomcat-7.0.42 \ bin \ WorkspaceToolsapache-tomcat-7.0.42 \ logs», что означает, что filePattern не интерпретируется должным образом. Как я могу это преодолеть, не ставя статически указывать каталог архива? –
Не означает ли это, что системное свойство 'catalina.base' указывает на каталог tomcat bin? –
Это так. Но этого не происходит с активным файлом журнала. Активный файл журнала отображается в правильном каталоге внутри tomcat/log, но не в архивных файлах журналов, которые вместо этого архивируются внутри каталога tomcat/bin. –