Различные журналы разработки и производственной среды, когда они не должны - PullRequest
0 голосов
/ 10 марта 2020

Я работаю над 9-летним приложением Spring с созданием журнала, выполненным с помощью Logback.

В среде разработки ведение журнала работает нормально, но когда мы переключаемся на производственную среду, журналы все еще пишутся до тех пор, пока "" Приложение запущено в ... мс ". После этого больше ничего не будет написано.

После некоторого копания я заметил, что наш logback не встроен в нашу войну, а настроен на Tomcat libs. Это заставило меня подумать, что мы могли бы переопределить свойства, отключив наши настройки ведения журнала. Проблема в том, что разработчик, который работал над этим, больше не находится в моей компании, поэтому я в основном ищу вслепую. Как вы думаете, я прав с моим первым предположением? Где я должен искать некоторые файлы conf, переопределяющие мои application.properties?

Вот наши настройки ведения журнала application.properties:

logging.config= classpath:./extranet_config/logback.xml
logging.level.com.sun.mail= trace
logging.exception-conversion-word=
logging.pattern.console=%d{HH:mm:ss.SSS} %-5level [%thread] %logger - %msg %n
logging.pattern.file=.%d{HH:mm:ss.SSS} [%thread] %-5level - %msg %n
logging.pattern.level=%5p

И logback:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>

    <property name="LOGS_FOLDER" value="C://log/Extranet/logs" />
    <property name="LOGS_TO_COLLECT_FOLDER" value="C://log/Extranet/logs-to-collect" />

    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>TRACE</level>
        </filter>
        <encoder>
            <Pattern>%d{HH:mm:ss.SSS} | %-5level | %-22thread | %-12logger | %msg %n</Pattern>
        </encoder>
    </appender>

    <appender name="log-file" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>TRACE</level>
        </filter>
        <file>${LOGS_FOLDER}/extranet.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOGS_TO_COLLECT_FOLDER}/extranet.%d{yyyyMMdd}.log
            </fileNamePattern>
        </rollingPolicy>
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} | %-5level | %-22thread | %-12logger | %m %throwable{0}%n</pattern>
        </encoder>
    </appender>

    <appender name="troubleshooting-file" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>ERROR</level>
        </filter>
        <file>${LOGS_FOLDER}/extranet-troubleshooting.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
            <fileNamePattern>${LOGS_FOLDER}/extranet-troubleshooting.%i.log
            </fileNamePattern>
            <maxIndex>10</maxIndex>
        </rollingPolicy>
        <triggeringPolicy
            class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
            <maxFileSize>10MB</maxFileSize>
        </triggeringPolicy>
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} | %-5level | %-22thread | %-12logger | %msg %n</pattern>
        </encoder>
    </appender>

    <logger name="org.springframework" level="INFO"/>
    <logger name="org.hibernate" level="ERROR"/>
    <logger name="org.springframework.boot.web.support.ErrorPageFilter" level="OFF" />
    <logger name="Application" level="DEBUG"/>
    <logger name="QueryLogger" level="DEBUG"/>
    <logger name="AOPLogger" level="TRACE"/>    

    <root>
        <appender-ref ref="console" />
        <appender-ref ref="log-file" />
        <appender-ref ref="troubleshooting-file" />
    </root>
</configuration>

Примечание: эти два файла идентичны в prod и в среде разработки.

1 Ответ

0 голосов
/ 22 апреля 2020

По какой-то причине наш путь к классу logback не читался одинаково на обоих серверах, мы изменили их, и теперь все работает правильно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...