1

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.

KSK
  • 636
  • 1
  • 9
  • 29

0 Answers0