【发布时间】: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