본문 바로가기
개발/아키텍처

logback

by Devsong26 2023. 12. 26.

Logback은 자바 어플리케이션을 위한 로깅 프레임워크로, 간결하면서도 유연한 설정을 제공합니다. Logback은 Ceki Gülcü가 개발한 Log4j의 후속 버전으로 만들어졌습니다. Logback은 성능이 우수하고, 설정이 쉽고, 확장성이 뛰어나기 때문에 많은 자바 개발자들에게 선호되는 로깅 프레임워크 중 하나입니다.

Logback은 주로 세 가지 구성 요소로 이루어져 있습니다.

  • SLF4J (Simple Logging Facade for Java)
    • Logback은 SLF4J의 구현체로 사용됩니다. SLF4J는 어플리케이션 코드에서 로깅에 사용되는 API를 제공하고, 이를 실제 로깅 시스템에 바인딩하여 사용합니다. 따라서 Logback을 사용하려면 SLF4J 라이브러리도 함께 추가해야 합니다.
  • Logback-core
    • Logback의 핵심 모듈로, 로깅 이벤트를 생성하고 출력하는 데 사용됩니다.
  • Logback-classic
    • Logback의 고전적인 구성 요소로, SLF4J API를 구현하는데 사용됩니다. 즉, Logback-classic은 SLF4J와 Logback-core를 포함하고 있으며, SLF4J를 통해 어플리케이션 코드로 로깅 메시지를 노출합니다.

 

간단한 Logback 구성 파일은 XML 형식을 사용하며, 주요 구성 요소는 다음과 같습니다.

  • Appender
    • 로그 이벤트를 출력하는 대상입니다. 예를 들어, 파일이나 콘솔에 출력할 수 있습니다.
  • Logger
    • 로그 이벤트를 받아들이는 객체로, Appender에 로그 이벤트를 전달합니다. Logger는 이름으로 식별되며, 부모 Logger로부터 상속된 속성을 가질 수 있습니다.
  • Layout
    • 로그 이벤트를 출력 형식에 맞게 포맷팅하는 역할을 합니다.

 


간단한 Logback 구성 파일 예제

<configuration>

    <!-- Appender 설정 -->
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>

    <!-- Root Logger 설정 -->
    <root level="INFO">
        <appender-ref ref="CONSOLE"/>
    </root>

</configuration>


이 예제에서는 콘솔에 로그를 출력하는 Appender를 설정하고, 루트 Logger에서 이 Appender를 참조하도록 설정했습니다.

Logback은 다양한 기능과 설정 옵션을 제공하므로 필요에 따라 문서를 참고하여 사용할 수 있습니다. 또한, Logback은 프로파일링, 조건부 설정, 로깅 이벤트 필터링 등 다양한 고급 기능을 지원합니다.

'개발 > 아키텍처' 카테고리의 다른 글

트랜잭션 스크립트 패턴  (0) 2023.12.19
Nexus Repository  (0) 2023.12.08
Flagger  (0) 2023.12.05
Hystrix  (0) 2023.11.30
Kafka Connector  (0) 2023.11.30