Logback 我希望在从不使用附加程序时不创建文件。 [RollingFileAppender]
Logback I want File do not create when the appender is never used. [RollingFileAppender]
我正在为我的应用程序创建一个 logback-common 配置文件。
我在其中定义了一个 RollingFileAppender,它为我所有的应用程序在文件中生成相同的日志格式(如果我们需要的话)。
有时我想使用这个 appender,有时不想(例如当我们测试时)。
因此,我们根据需要配置特定的 logback-{profile}。xml。
但是当我们不使用 FILE appender 时,文件被创建,我不想。
我有:
- logback-common.xml >> 包含所有附加程序定义(FILE 和 COMMON)
appli_one
- resources/logback.xml >> 调用 logback-common 和 config/logback-{profile}.xml
- resources/config/logback-{profile}。xml >> 具体 appli/profile logback 配置。
我们可以在 logback-{profile} 中进行配置。xml
<root level="WARN">
<appender-ref ref="FILE"/> <!-- For File Log when we need it -->
<appender-ref ref="CONSOLE"/>
</root>
<root level="WARN">
<!-- <appender-ref ref="FILE"/> --> <!-- in comment when we do not need if > BUT create a empty file -->
<appender-ref ref="CONSOLE"/>
</root>
logback-common.xml
<included>
<!-- The FILE and ASYNC appenders are here as examples for a production
configuration -->
<appender name="FILE"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>log/${spring.application.name}.log</file>
<rollingPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>
log/${spring.application.name}.%d{yyyy-MM-dd}.%i.log.zip
</fileNamePattern>
<maxHistory>90</maxHistory>
<maxFileSize>10MB</maxFileSize>
</rollingPolicy>
<encoder>
<charset>utf-8</charset>
<Pattern>%d %-5level [%thread] %logger{0}: %msg%n</Pattern>
</encoder>
</appender>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>"%d{yyyy-MM-dd} [%thread] %-5level %45logger{45} - %msg%n"</pattern>
</encoder>
</appender>
</included>
logback.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" packagingData="true">
<property name="spring_profiles_active" value="${spring.profiles.active}" />
<property resource="application.properties"/>
<include resource="config/log/logback-common.xml"/>
<include resource="config/log/logback-${spring_profiles_active}.xml"/>
</configuration>
这不是 logback 的核心功能,但有实现延迟文件初始化的变通方法。
在这里查看更多
Logback - do not create empty log files at startup
我正在为我的应用程序创建一个 logback-common 配置文件。 我在其中定义了一个 RollingFileAppender,它为我所有的应用程序在文件中生成相同的日志格式(如果我们需要的话)。 有时我想使用这个 appender,有时不想(例如当我们测试时)。
因此,我们根据需要配置特定的 logback-{profile}。xml。 但是当我们不使用 FILE appender 时,文件被创建,我不想。
我有:
- logback-common.xml >> 包含所有附加程序定义(FILE 和 COMMON) appli_one
- resources/logback.xml >> 调用 logback-common 和 config/logback-{profile}.xml
- resources/config/logback-{profile}。xml >> 具体 appli/profile logback 配置。
我们可以在 logback-{profile} 中进行配置。xml
<root level="WARN">
<appender-ref ref="FILE"/> <!-- For File Log when we need it -->
<appender-ref ref="CONSOLE"/>
</root>
<root level="WARN">
<!-- <appender-ref ref="FILE"/> --> <!-- in comment when we do not need if > BUT create a empty file -->
<appender-ref ref="CONSOLE"/>
</root>
logback-common.xml
<included>
<!-- The FILE and ASYNC appenders are here as examples for a production
configuration -->
<appender name="FILE"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>log/${spring.application.name}.log</file>
<rollingPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>
log/${spring.application.name}.%d{yyyy-MM-dd}.%i.log.zip
</fileNamePattern>
<maxHistory>90</maxHistory>
<maxFileSize>10MB</maxFileSize>
</rollingPolicy>
<encoder>
<charset>utf-8</charset>
<Pattern>%d %-5level [%thread] %logger{0}: %msg%n</Pattern>
</encoder>
</appender>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>"%d{yyyy-MM-dd} [%thread] %-5level %45logger{45} - %msg%n"</pattern>
</encoder>
</appender>
</included>
logback.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" packagingData="true">
<property name="spring_profiles_active" value="${spring.profiles.active}" />
<property resource="application.properties"/>
<include resource="config/log/logback-common.xml"/>
<include resource="config/log/logback-${spring_profiles_active}.xml"/>
</configuration>
这不是 logback 的核心功能,但有实现延迟文件初始化的变通方法。
在这里查看更多 Logback - do not create empty log files at startup