我在 logback-spring.xml 中使用不同的附加程序,这是我的配置,
在这里,我为每个 appender 都有唯一的文件名和 fileNamePattern,所以这工作正常,但为每个 appender 创建每个新文件。
附加器 1:
<appender name="JSONASYNCAPPENDER" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>json_async.log</file>
<encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
<providers>
*****
</providers>
<jsonFactoryDecorator class="net.logstash.logback.decorate.CharacterEscapesJsonFactoryDecorator">
***
</jsonFactoryDecorator>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>JSONAsync-%d{yyyy-MM-dd}.%i.logback.zip
</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>${maxFileSize}</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<maxHistory>15</maxHistory>
</rollingPolicy>
</appender>
附加器 2:
<appender name="FILEAPPENDER" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>File_async.log</file>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<Pattern>
${FILE_LOG_PATTERN}
</Pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>File_Async-%d{yyyy-MM-dd}.%i.logback.zip
</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>${maxFileSize}</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<maxHistory>15</maxHistory>
</rollingPolicy>
</appender>
如果我只想为所有 appender 生成一个文件,那么如何实现。我试图为我遇到错误的所有附加程序设置相同的名称。
ch.qos.logback.core.rolling.RollingFileAppender[] 中的错误 - “文件”选项具有相同的值
是否可以在 logback 中的一个文件中共享日志消息。