I am using different appender in logback-spring.xml, This is my configuration,
Here I am having unique file name and fileNamePattern for each appender so this is working fine but creating each new file for each appender.
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>
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>
If I want to generate only one file for all appenders, then how to achieve. I tried to set same name for all appenders I am getting below error.
ERROR in ch.qos.logback.core.rolling.RollingFileAppender[] - 'File' option has the same value
Is it possible to share log message in one file in logback.