Skip to content

Logback

Logback is intended as a successor to the popular log4j project.

logback.xml example

<configuration>
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>

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

ddrmplcGateway 에 사용된 로거:

<?xml version="1.0" encoding="UTF-8" ?>
<configuration scan="true" scanPeriod="3 seconds">
    <property name="LOGS_ABSOLUTE_PATH" value="../log" />

    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>
                %d{HH:mm:ss.SSS} %-5level %logger{32} - %msg%n
            </pattern>
        </encoder>
    </appender>

    <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOGS_ABSOLUTE_PATH}/plcGateway.log.%d{yyyy-MM-dd}.log</fileNamePattern> <!-- 파일이름 패턴 -->
            <maxHistory>30</maxHistory> <!-- 파일 저장 기간 -->
        </rollingPolicy>
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} %-5level %logger{32} - %msg%n</pattern> <!-- 파일에 기록할 로그 포맷 -->
        </encoder>
    </appender>


    <root level="DEBUG">
        <!-- <appender-ref ref="console" /> -->
    </root>

    <logger name="com.mseo" level="debug">
        <appender-ref ref="file" />
    </logger>
</configuration>

logback.xml 파일 위치 지정 방법

Logback은 기본적으로 클래스 패스에 있는 logback.xml 파일을 자동으로 로드합니다. 따라서 추가적인 설정 없이 클래스 패스에 해당 파일이 있으면 자동 로드됩니다. <- 확인 필요.

만약 특정 위치에 있는 logback.xml 파일을 읽도록 설정하고 싶다면, logback.configurationFile시스템 속성을 통해 파일 경로를 지정할 수 있습니다:

java -Dlogback.configurationFile=/path/to/your/logback.xml -jar your-app.jar

See also

  • Log4j
  • SLF4J
  • Log Aggregator - 여러 머신에서 쌓인 로그들을 한 번에 분석할 수 있도록 수집하여 주는 시스템을 말한다.

Favorite site