【问题标题】:Spring Boot + Logback springProperty. SpringProperty undefined after logging level changingSpring Boot + Logback 弹簧属性。日志级别更改后未定义 SpringProperty
【发布时间】:2021-09-16 23:38:37
【问题描述】:

我有 Spring Boot 应用程序并在 application.properties 中设置下一个变量:

logging.config=file:./xxx_logback.xml
appName=myapp
appVersion=1.0

应用程序在启动后创建正确的日志文件。但是当我更改日志记录级别时,logback 会创建名为“appName_IS_UNDEFINED-appVersion_IS_UNDEFINED”的新日志文件。我使用下一个 logback 配置:

<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="10 seconds">
    <contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator">
        <resetJUL>true</resetJUL>
    </contextListener>
    <!-- To enable JMX Management -->
    <jmxConfigurator/>
    
    <springProperty scope="context" name="appName" source="appName"/>
    <springProperty scope="context" name="appVersion" source="appVersion"/>

    <appender name="FILE-APPENDER" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>logs/${appName}-${appVersion}.log</file>
        <append>true</append>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- daily rollover -->
            <fileNamePattern>logs/${appName}-${appVersion}-%d{yyyy-MM-dd}-%i.log.zip</fileNamePattern>
            <!-- keep 30 days' worth of history -->
            <maxHistory>30</maxHistory>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>100MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
        <encoder>
            <charset>utf-8</charset>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n</pattern>
        </encoder>
    </appender>

    <root level="warn">
   
        <appender-ref ref="FILE-APPENDER"/>
    </root>

    <logger name="xxx.xxx" level="warn"/>

</configuration>

不明白如何解决。

【问题讨论】:

    标签: spring-boot logback


    【解决方案1】:

    原因很可能是这样的:

    https://docs.spring.io/spring-boot/docs/2.5.2/reference/htmlsingle/#features.logging.logback-extensions

    这些扩展不能与 Logback 的配置扫描一起使用。如果您尝试这样做,对配置文件进行更改会导致错误。

    【讨论】:

      猜你喜欢
      • 2017-03-26
      • 2020-01-19
      • 2020-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-05
      • 1970-01-01
      • 2020-02-25
      相关资源
      最近更新 更多