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.log

and

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

回到顶部