【问题标题】:Different developement and production environment production logs when they shouldn't不同的开发和生产环境生产日志,什么时候不应该
【发布时间】:2020-06-22 11:52:35
【问题描述】:

我正在开发一个使用 Logback 生成日志的 9 年 Spring 应用程序。

日志在开发环境中运行良好,但是当我们切换到生产环境时,日志仍在写入,直到“应用程序在 ...ms 中启动”。在那之后,就再也没有其他的东西了。

经过一番挖掘,我注意到我们的 logback 不是内置在我们的战争中,而是设置在 Tomcat 库中。这让我觉得我们可以覆盖禁用我们的日志记录设置的属性。问题是,从事这方面工作的开发人员已经不在我公司了,所以我基本上是在盲目地寻找。 你认为我的第一个假设是对的吗?我应该在哪里搜索一些覆盖我的 application.properties 的 conf 文件?

这是我们的 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 和开发环境中是相同的。

【问题讨论】:

    标签: spring spring-boot configuration logback spring-logback


    【解决方案1】:

    由于某种原因,我们的 logback 类路径在两台服务器上的读取方式不同,我们对其进行了更改,现在一切正常。

    【讨论】:

      猜你喜欢
      • 2021-09-27
      • 2014-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-04
      • 1970-01-01
      • 1970-01-01
      • 2018-02-12
      相关资源
      最近更新 更多