TIL

[TIL] logback 설정 어렵다

봄봄로그 2023. 6. 18. 17:22

이상하다 이상해..

logback 설정에 따라 console에 찍히는 log가 달라진다.

log4j 설정 때문인줄 알았는데 아니었던거지….

믿을 수 없다…. 이렇게 또 하나 배우네

맨 밑에 부분

<!-- LOG everything at INFO level -->
    <root level="error">
        <appender-ref ref="Console" />
        <appender-ref ref="siftingAppender" />
        <appender-ref ref="logstash" />
    </root>

    <!-- LOG "com.baeldung*" at TRACE level -->
    <logger name="com.blog" level="info" additivity="true">
        <appender-ref ref="Console" />
        <appender-ref ref="siftingAppender" />
    </logger>

어느부분에서 영향을 주는지 모르겠다.

일단 additivity="true" 가 되면 같은 로그가 두번씩 찍히는 것은 알겠다.

<logger name="com.blog" level="info" additivity="true">
    <appender-ref ref="Console" />
    <appender-ref ref="siftingAppender" />
</logger>

일단 얘가 영향을 주진 않는다.

log 쌓일 때 특정한 값으로 쌓이게 하기

<appender name="siftingAppender" class="ch.qos.logback.classic.sift.SiftingAppender">
	<discriminator>
	    <key>CONFIG_CODE</key>
	    <defaultValue>DEFAULT</defaultValue>
	</discriminator>

	<sift>
        <appender name="ROLLING_ROOT"
                  class="ch.qos.logback.core.rolling.RollingFileAppender">
            <file>${LOGS}/${CONFIG_CODE}.log</file>

            <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
                <Pattern>
                    %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} TEST : [%X{CONFIG_CODE}] - %msg%n
                </Pattern>
            </encoder>
		</appender>
    </sift>
  </appender>

여기서 ${CONFIG_CODE} 값은 MDC에 있는 값을 읽어와 사용한다.