为spring logback中配置的每个配置文件创建的空日志文件

为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

我在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 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