Я обновил log4j 1 до log4j2 в нашем проекте Spring. Журналы отлично работают на машинах Dev и QA. Но когда мы развертываем его на Staging, журналы не создаются. Когда мы включаем отладку, при запуске появляются логи. Но после этого замолкает без ошибок. Это мой файл конфигурации.
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn" name="my-project" packages="">
<Appenders>
<Console name="STDOUT" target="SYSTEM_OUT">
<PatternLayout pattern="%d{ISO8601} %-5p (%x) [%t] %c{1} - %m%n"/>
</Console>
<!-- Debug Logger -->
<RollingFile name="DEBUG_LOG" fileName="/var/log/tomcat/my-project-backoffice-debug.log"
filePattern="/var/log/tomcat/my-project-backoffice-debug.log.%d{yyyy-MM-dd}.gz">
<ThresholdFilter level="DEBUG"/>
<PatternLayout >
<pattern>%d{ISO8601} %-5p (%x) [%t] %c{1} - %m%n</pattern>
</PatternLayout>
<TimeBasedTriggeringPolicy />
</RollingFile>
<!-- Info Logger -->
<RollingFile name="INFO_LOG" fileName="/var/log/tomcat/my-project-backoffice-info.log"
filePattern="/var/log/tomcat/my-project-backoffice-info.log.%d{yyyy-MM-dd}.gz">
<ThresholdFilter level="INFO"/>
<PatternLayout >
<pattern>%d{ISO8601} %-5p (%x) [%t] %c{1} - %m%n</pattern>
</PatternLayout>
<TimeBasedTriggeringPolicy />
</RollingFile>
<!-- Warn Logger -->
<RollingFile name="WARN_LOG" fileName="/var/log/tomcat/my-project-backoffice-warn.log"
filePattern="/var/log/tomcat/my-project-backoffice-warn.log.%d{yyyy-MM-dd}.gz">
<ThresholdFilter level="WARN"/>
<PatternLayout >
<pattern>%d{ISO8601} %-5p (%x) [%t] %c{1} - %m%n</pattern>
</PatternLayout>
<TimeBasedTriggeringPolicy />
</RollingFile>
<!-- Error Logger -->
<RollingFile name="ERROR_LOG" fileName="/var/log/tomcat/my-project-backoffice-error.log"
filePattern="/var/log/tomcat/my-project-backoffice-error.log.%d{yyyy-MM-dd}.gz">
<ThresholdFilter level="ERROR"/>
<PatternLayout >
<pattern>%d{ISO8601} %-5p (%x) [%t] %c{1} - %m%n</pattern>
</PatternLayout>
<TimeBasedTriggeringPolicy />
</RollingFile>
</Appenders>
<Loggers>
<Logger name="org.springframework" level="INFO"/>
<Root level="info">
<AppenderRef ref="DEBUG_LOG"/>
<AppenderRef ref="INFO_LOG"/>
<AppenderRef ref="WARN_LOG"/>
<AppenderRef ref="ERROR_LOG"/>
</Root>
</Loggers>
Спасибо.
Обновление: Решение:
Была одна из старых зависимостей log4j (транзитивная) загружен на сценическую машину. Это странно, потому что пакет, созданный Jenkins, отлично работал на машинах Dev и QA. Поэтому я удалил все транзитивные зависимости, и после этого все заработало. Это транзитивные зависимости, которые я удалил.
commons-logging-1.1.1.jar
log4j-slf4j-impl-2.11.2.jar
log4j-1.2.17.jar