мои журналы tomcat не имеют расширений. Я заметил, что это связано с развернутым веб-приложением (менеджер и хост-менеджер исправны), но я не могу найти неправильную точку. После развертывания веб-приложения появятся следующие данные:
правильно:
- catalina.out
- catalina. $ {Yyyy-MM-dd} .log (дата: фактическое, а не заполнитель)
- localhost. $ {yyyy-MM-dd} .log
- manager. $ {yyyy-MM-dd} .log
неправильно:
- каталина.
- менеджер.
- localhost.
Этот неправильный файл содержит части правильного файла выше и, реплицируя, часть пользовательских журналов из log4j.
Ниже приведена конфигурация log4j:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
<appender name="rollingFile" class="org.apache.log4j.rolling.RollingFileAppender">
<param name="Threshold" value="debug" />
<rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy">
<param name="FileNamePattern" value="${catalina.base}/logs/my_custom_log.%d{yyyy-MM-dd}.log.gz" />
<param name="ActiveFileName" value="${catalina.base}/logs/my_custom.log" />
</rollingPolicy>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%d{dd-MMM-yyyy HH:mm:ss,SSS}|%t|%-35C:%L|%-25M|%-5p|%X{idOperazione} %X{idConversazione} %X{gruppo} %X{istituto} %X{canale} %X{matricola}|%m%n" />
</layout>
</appender>
<!-- Application Loggers -->
<logger name="COM.CORPORATE.ONE">
<level value="debug"/>
<appender-ref ref="rollingFile"/>
</logger>
<logger name="IT.CORPORATE.TWO">
<level value="debug"/>
<appender-ref ref="rollingFile"/>
</logger>
<!-- 3rdparty Loggers -->
<logger name="org.springframework">
<level value="warn"/>
</logger>
<logger name="org.activiti">
<level value="warn"/>
</logger>
<logger name="org.apache.ibatis">
<level value="warn"/>
</logger>
<logger name="org.apache.commons">
<level value="warn"/>
</logger>
<logger name="com.microsoft">
<level value="warn"/>
</logger>
<logger name="org.hibernate">
<level value="warn"/>
</logger>
<logger name="org.apache.cxf">
<level value="warn"/>
</logger>
<!-- Root Logger -->
<root>
<level value="ERROR" />
<appender-ref ref="rollingFile"/>
</root>
</log4j:configuration>
конфиг log4j вводится в приложение с помощью следующей весенней директивы:
<bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
<property name="targetClass" value="org.springframework.util.Log4jConfigurer" />
<property name="targetMethod" value="initLogging" />
<property name="arguments">
<list>
<value>${MY_APPLICATION_ENV_VARIABLE}/${ENV}/log4j_my-custom-application-log4j.xml</value>
</list>
</property>
</bean>
$ {MY_APPLICATION_ENV_VARIABLE} и $ {ENV} передаются в tomcat через параметр -D, конечно.
Tomcat - это 8.5.46, работающий в WSL Linux (Debian), но сам каталог tomcat находится в файловой системе Windows, поэтому Debian обнаружил его в / mnt / c / BLABLABLA и его разрешениях все 777. Я думаю, что эта комбинация не ответственна за это неправильное поведение, но я боролся с этим дерьмом в течение 1 дня (и этого достаточно), поэтому любые указания могут быть полезны.
О, я меня не интересуют какие-либо журналы на catalina.out - у меня были бы журналы tomcat на catalina. $ {date} .log и т. д. и журнал моего приложения my_application_log_according_to_that_log4j_conf. xml
Благодаря все