Logback-test.xml配置正在生成两个日志文件,而不是一个?
当我停止运行spring-boot
应用程序时,将生成 日志文件,而不是 (期望一个)。
我Logback-test.xml
下面的文件有什么问题可能是造成此问题的原因?
<?xml version="1.0" encoding="UTF-8"?><configuration>
<timestamp key="myTimestamp" datePattern="yyyy-MM-dd'_'HH-mm-ss.SSS"/>
<include resource="org/springframework/boot/logging/logback/base.xml"/>
<logger name="org.springframework.web" level="INFO"/>
<!-- Send debug messages to System.out -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<!-- By default, encoders are assigned the type ch.qos.logback.classic.encoder.PatternLayoutEncoder -->
<encoder>
<pattern>%d{HH:mm:ss.SSS} - %msg%n</pattern>
</encoder>
</appender>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>C:\path\to\my\file\myLog-${myTimestamp}.log</file>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<Pattern>%d{yyyy-MM-dd_HH:mm:ss.SSS} - %msg%n</Pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<FileNamePattern>myLog.%i{yyyy-MM-dd_HH:mm:ss.SSS}}.log</FileNamePattern>
<MinIndex>1</MinIndex>
<MaxIndex>10</MaxIndex>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>2MB</MaxFileSize>
</triggeringPolicy>
</appender>
<logger name="com.my.package" level="INFO" additivity="false">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE" />
</logger>
<!-- By default, the level of the root level is set to DEBUG -->
<root level="INFO">
<appender-ref ref="STDOUT" />
</root>
</configuration>
正在创建的两个文件例如:
myLog-2016-04-22_15-47-30.126.logand
myLog-2016-04-22_15-47-30.922.log
回答:
解析配置时将生成时间戳。由于Spring Boot在启动期间会一次重新初始化登录,因此会生成两个不同的时间戳,因此会生成两个文件。
您可以timeReferene="contextBirth"
在配置中使用a
以获得恒定的时间戳。由于LoggerContext
不会被销毁,因此只需将其重置即可:
<timestamp key="myTimestamp" timeReference="contextBirth" datePattern="yyyy-MM-dd'_'HH-mm-ss.SSS"/>
以上是 Logback-test.xml配置正在生成两个日志文件,而不是一个? 的全部内容, 来源链接: utcz.com/qa/426617.html