본문 바로가기
Spring

Logback JSON 포맷으로 출력하기

by jayden jayden-lee 2020. 2. 28.

의존성 추가

build.gradle 파일에 아래 의존성을 추가한다.

 

compileOnly("ch.qos.logback.contrib:logback-jackson:0.1.5")
compileOnly("ch.qos.logback.contrib:logback-json-classic:0.1.5")

JsonLayout 설정하기

logback.xml 파일에 로그 메시지를 JsonLayout으로 출력되도록 설정한다. 추가적으로 JacksonJsonFormatter을 설정하면 Json 로그 메시지가 Json Formatter가 적용되어 출력된다.

 

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
        <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
            <layout class="ch.qos.logback.contrib.json.classic.JsonLayout">
                <timestampFormat>yyyy-MM-dd'T'HH:mm:ss.SSSX</timestampFormat>
                <timestampFormatTimezoneId>Etc/UTC</timestampFormatTimezoneId>
                <appendLineSeparator>true</appendLineSeparator>
                <jsonFormatter class="ch.qos.logback.contrib.jackson.JacksonJsonFormatter">
                    <prettyPrint>true</prettyPrint>
                </jsonFormatter>
            </layout>
        </encoder>
    </appender>

    <root level="debug">
        <appender-ref ref="stdout"/>
    </root>
</configuration>

 

댓글2

  • Alpha 2020.03.01 14:55

    안녕하세요. 좋은 정보 감사합니다.
    혹시 어떤 이유때문에 json 포맷으로 로그를 저장하려고 하셧는지 알수잇을까요?
    답글