Я пытаюсь настроить log4j2 для записи скользящего файла журнала на диск, но я не могу заставить его работать. На заданном пути не появляется файл журнала, и сервер Glassfish server.log вообще не показывает никаких журналов Spring. Я прочитал много подобных вопросов о SO, но ни одно из предлагаемых решений не сработало в этом случае. Может кто-нибудь мне помочь? Я использую Spring 3.0 на сервере приложений Glassfish 3.1.Не удается получить RollingFile, работающий с log4j2
С моей pom.xml:
<properties>
<junit.version>4.11</junit.version>
<tiles.version>3.0.3</tiles.version>
<slf4j.version>1.7.5</slf4j.version>
<log4j.version>2.0-beta9</log4j.version>
</properties>
<dependencies>
<dependency>
<artifactId>jcl-over-slf4j</artifactId>
<groupId>org.slf4j</groupId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>${log4j.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>${log4j.version}</version>
</dependency>
</dependencies>
А вот мой log4j.xml:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO">
<Properties>
<Property name="fileName" value="C:/temp/rolling-file.log"/>
<Property name="fileNamePattern" value="C:/temp/rolling-file-$d{dd-MM-yyyy}-%i.log"/>
<Property name="logPattern" value="%d{dd-MM-yyyy HH:mm:ss,SSS} [%t] %-5p %c - %m%n"/>
</Properties>
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="${logPattern}"/>
</Console>
<RollingFile name="RollingFile" fileName="${fileName}" filePattern="${fileNamePattern}">
<PatternLayout pattern="${logPattern}"/>
<Policies>
<TimeBasedTriggeringPolicy/>
<SizeBasedTriggeringPolicy size="20MB"/>
</Policies>
<DefaultRolloverStrategy max="10"/>
</RollingFile>
</Appenders>
<Loggers>
<Logger name="my.root.package" level="info" additivity="false">
<AppenderRef ref="Console"/>
<AppenderRef ref="RollingFile"/>
</Logger>
<Root level="info">
<AppenderRef ref="Console"/>
</Root>
</Loggers>
</Configuration>
Получаете ли вы полезный вывод при установке атрибута 'status' элемента' Configuration' для «отладки»? – mthmulders
Пробовал, нет разницы. Я просто получаю журнал Glassfish о запуске приложений и настроенных источниках данных. Ничего не связано с Spring или моими собственными заявлениями о регистрации. – Hanno
Вы используете log4j 2, и поэтому конфигурация должна быть названа 'log4j2.xml', а не' log4j.xml'. См. Http://logging.apache.org/log4j/2.x/manual/configuration.html (Автоматическая настройка, bullet 5). –