为spring logback中配置的每个配置文件创建的空日志文件
我在spring引导应用程序中使用下面的logback-spring.xml文件。xml文件中启用了特定于配置文件的配置。但是,当我的环境是test时,它会在example-wsrest\u test.log文件中写入条目,但在服务器启动时,它还会创建另外两个日志文件example-wsrest\u prod.log和example-wsrest\u acc.log。是否可以基于配置文件仅创建单个日志文件为spring logback中配置的每个配置文件创建的空日志文件,spring,spring-boot,logback,spring-logback,Spring,Spring Boot,Logback,Spring Logback,我在spring引导应用程序中使用下面的logback-spring.xml文件。xml文件中启用了特定于配置文件的配置。但是,当我的环境是test时,它会在example-wsrest\u test.log文件中写入条目,但在服务器启动时,它还会创建另外两个日志文件example-wsrest\u prod.log和example-wsrest\u acc.log。是否可以基于配置文件仅创建单个日志文件 ${LOG\u PATH\u ACC}/${LOG\u FILE\u NAME}\u
${LOG\u PATH\u ACC}/${LOG\u FILE\u NAME}\u ACC.LOG
${LOG\u PATH\u ACC}/${LOG\u FILE\u NAME}{u ACC%d{dd MM yyyy}}{%i.LOG
10MB
30
300MB
${FILE\u LOG\u PATTERN}
${LOG\u PATH\u PROD}/${LOG\u FILE\u NAME}\u PROD.LOG
${LOG\u PATH\u PROD}/${LOG\u FILE\u NAME}{u PROD\u%d{dd MM yyyy}}\u%i.LOG
10MB
30
300MB
${FILE\u LOG\u PATTERN}
${LOG\u PATH\u TEST}/${LOG\u FILE\u NAME}\u TEST.LOG
${LOG\u PATH\u TEST}/${LOG\u FILE\u NAME}\u TEST\u%d{dd MM yyyy}\u%i.LOG.zip
10MB
30
300MB
${FILE\u LOG\u PATTERN}
${CONSOLE\u LOG\u PATTERN}
utf8
您必须在弹簧外形标签中定义appender。配置标签中的所有附加器都已初始化,但日志仅基于spring配置文件写入文件。但是为了每个概要文件都有一个日志文件,每个概要文件都应该有自己的appender。下面的例子可能会有所帮助:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/defaults.xml"/>
<springProfile name="test">
<appender name="FILE_APPENDER_TEST" class="ch.qos.logback.core.rolling.RollingFileAppender">
<encoder>
<pattern>${FILE_LOG_PATTERN}</pattern>
<charset>utf8</charset>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>%d{yyyy-MM-dd}-test.log</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
</appender>
<root level="TRACE">
<appender-ref ref="FILE_APPENDER_TEST"/>
</root>
</springProfile>
<springProfile name="prod">
<appender name="FILE_APPENDER_PROD" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>%d{yyyy-MM-dd}-prod.log</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${FILE_LOG_PATTERN}</pattern>
<charset>utf8</charset>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="FILE_APPENDER_PROD"/>
</root>
</springProfile>
</configuration>
${FILE\u LOG\u PATTERN}
utf8
%d{yyyy-MM-dd}-test.log
30
%d{yyyy-MM-dd}-prod.log
30
${FILE\u LOG\u PATTERN}
utf8
您必须在弹簧外形标签中定义appender。配置标签中的所有附加器都已初始化,但日志仅基于spring配置文件写入文件。但是为了每个概要文件都有一个日志文件,每个概要文件都应该有自己的appender。下面的例子可能会有所帮助:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/defaults.xml"/>
<springProfile name="test">
<appender name="FILE_APPENDER_TEST" class="ch.qos.logback.core.rolling.RollingFileAppender">
<encoder>
<pattern>${FILE_LOG_PATTERN}</pattern>
<charset>utf8</charset>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>%d{yyyy-MM-dd}-test.log</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
</appender>
<root level="TRACE">
<appender-ref ref="FILE_APPENDER_TEST"/>
</root>
</springProfile>
<springProfile name="prod">
<appender name="FILE_APPENDER_PROD" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>%d{yyyy-MM-dd}-prod.log</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${FILE_LOG_PATTERN}</pattern>
<charset>utf8</charset>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="FILE_APPENDER_PROD"/>
</root>
</springProfile>
</configuration>
${FILE\u LOG\u PATTERN}
utf8
%d{yyyy-MM-dd}-test.log
30
%d{yyyy-MM-dd}-prod.log
30
${FILE\u LOG\u PATTERN}
utf8