목차 >> Logging 
+- GlueLog  
+- logback  
----+- appender

10장 Logging

logback

자바 로깅 구현체(Logger)로 Logback을 사용할 경우, 다음 2개의 dependency가 필요합니다. 그리고 logback configuration이 필요합니다. logback configuration과 관련된 자세한 것은 logback manual을 참고합니다.

제공되는 예제 'sample-hello-logback' 을 통해 응용해 보시기 바랍니다.

pom.xml 일부
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>jcl-over-slf4j</artifactId>
    <version>${slf4j-jcl-version}</version>
</dependency>
<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-classic</artifactId>
    <version>${logback-version}</version>
</dependency>
logback.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>[%thread] %-5level %logger - %msg%n</pattern>
        </encoder>
    </appender>
    <logger name="com.poscoict">
        <level value="debug" />
    </logger>
    <logger name="org.springframework">
        <level value="info" />
    </logger>
    <logger name="sample">
        <level value="debug" />
    </logger>
    <root level="warn">
        <appender-ref ref="CONSOLE" />
    </root>
</configuration>

appender

위의 logback.xml에는 ConsoleAppender가 사용되었습니다. logback은 ConsoleAppender외에도 FileAppender, RollingFileAppender 등이 있습니다. 다음은 ConsoleAppender와 FileAppender를 함께 사용한 예입니다.

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern>
        </encoder>
    </appender>
    <appender name="FILE" class="ch.qos.logback.core.FileAppender">
        <file>${CONFIG_PATH}/log/glue_app_debug_log.log</file>
        <append>true</append>
        <encoder>
            <pattern>%d [%thread] %-5level %logger - %msg%n</pattern>
        </encoder>
    </appender>
    <logger name="com.poscoict">
        <level value="debug" />
    </logger>
    <logger name="org.springframework">
        <level value="info" />
    </logger>
    <logger name="sample">
        <level value="debug" />
    </logger>
    <root level="warn">
        <appender-ref ref="CONSOLE" />
        <appender-ref ref="FILE" />
    </root>
</configuration>