목록로그백 (10)
초보개발자 긍.응.성
Logback은 로그 이벤트를 출력하는 방법으로 Appender를 이용합니다. 분산 서버 환경에서 ConsoleAppender나 FileAppender들을 이용한다면 해당 로그들은 서버 내에 쌓이게 됩니다. 이번 글에서는 애플리케이션에서 발생한 로그 이벤트를 아파치 카프카를 통하여 Publish 하는 방법에 대하여 다뤄보겠습니다. Appender에 대하여 더 알아보고 싶다면 Logback - 4.Appenders (1). ConsoleAppender, FileAppender를 참고해주세요. logback-kafka-appender Log4j는 KafkaAppender를 직접 지원하지만 Logback의 경우 오픈소스로 제공되는 logback-kafka-appender를 사용합니다. logback-kafka..
logback 홈페이지의 매뉴얼을 읽으며 내용들을 정리한 글입니다. Logback Filters Logback Filters는 임의로 생성한 복잡한 필터링 정책을 조립하고 연결합니다. 이번 장에서는 logback-classis에서 사용하는 Logback filter들에 대해 알아보겠습니다. Logback Filters in logback-classic logback-classic 모듈은 regular filters와 turbo filters 두 가지 타입의 필터를 제공합니다. Regular filters logback-classic의 Regular filters는 추상 클래스 Filter를 상속하며, ILoggingEvent를 파라미터로 받아오기 위한 decide() 메서드를 구현합니다. 등록된 Filt..
logback 홈페이지의 매뉴얼을 읽으며 내용들을 정리한 글입니다. PatternLayout PatternLayout은 가장 유연하게 사용되는 Logback-classic 모듈의 layout입니다. PatternLayout은 이벤트를 입력한 문자열 패턴에 맞추어 변환합니다. 이때 PatternLayout에 입력한 문자열을 변환 패턴(Conversion Pattern)이라 합니다. PatternLayout의 변환 패턴은 C언어의 printf() 함수와 매우 유사합니다. 변환 패턴은 리터럴 텍스트(literal text)와 변환 지정자(conversion specifiers)로 구성됩니다. 리터럴 텍스트는 변환 패턴 문자열에 삽입되어 삽입된 문자 그대로 출력됩니다. 변환 지정자는 퍼센트 기호 '%'로 시작되..
logback 홈페이지의 매뉴얼을 읽으며 내용들을 정리한 글입니다. Layout이란? Layout은 들어오는 이벤트에 대해 문자열로 변환해주는 역할을 하는 logback의 component입니다. Layout 인터페이스의 format() 메서드는 이벤트를 나타내는 object를 가져가 String 형으로 반환합니다. 하지만, 막상 Layout 인터페이스에는 format 메서드가 없는데 현재 doLayout() 메서드가 이를 대체합니다. Layout 인터페이스는 아래와 같습니다. public interface Layout extends ContextAware, LifeCycle { String doLayout(E event); String getFileHeader(); String getPresentati..
logback 홈페이지의 매뉴얼을 읽으며 내용들을 정리한 글입니다. Encoder란? Encoder는 로그 이벤트를 바이트 배열로 변환하고, 해당 바이트 배열을 OutputStream에 쓰는 작업을 담당합니다. Encoder는 logback 0.9.19 버전 이후 등장하였습니다. 이전 버전에서 appender는 이벤트 메시지를 문자열로 변환하는데 layout을, write하는데 java.io.Writer를 사용하였습니다. 또한 이전 버전의 logback에서는 FileAppender 내에 PatternLayout을 중첩 선언하여 사용하였지만, 0.9.19 버전 이후부터는 FileAppender와 그 하위 클래스에 대해서는 encoder를 내장하여 더 이상 레이아웃을 사용하지 않아도 되도록 하였습니다. La..
logback 홈페이지의 매뉴얼을 읽으며 내용들을 정리한 글입니다. RollingFileAppender RollingFileAppender는 FileAppender를 상속하여 로그 파일을 rollover 합니다. 여기서 rollover는 타깃 파일을 바꾸는 것으로 이해할 수 있습니다. 예를 들어, RollingFileAppender가 타깃 파일로 log.txt에 로그 메시지를 append 하다가 어느 지정한 조건에 다다르면, 타깃 파일을 다른 파일로 바꿀 수 있습니다. RollingFileAppender와 함께 동작하는 두 가지 component가 존재합니다. 첫 번째는 RollingPolicy로 rollover에 필요한 action을 정의합니다. 두 번째는 TriggeringPolicy로 어느 시점에 ..