Log4j 환경 설정 파일 구성 방법

Log4j 설정 파일 개요

Log4j 설정 파일은 로거 레벨, 어펜더 출력 대상, 레이아웃 포맷을 정의합니다. 주요 구성 요소는 다음과 같습니다:

기본 구성 구조

# 루트 로거 설정
log4j.rootLogger = [레벨], [어펜더1], [어펜더2]

# 어펜더 출력 대상 정의
log4j.appender.[어펜더명] = [클래스 풀네임]
log4j.appender.[어펜더명].[속성] = [값]

# 출력 형식 지정
log4j.appender.[어펜더명].layout = [레이아웃 클래스]
log4j.appender.[어펜더명].layout.[속성] = [값]

로그 레벨 종류

  • FATAL: 치명적 오류
  • ERROR: 실행 오류
  • WARN: 경고
  • INFO: 정보성
  • DEBUG: 디버깅

출력 대상(Appender) 유형

ConsoleAppender: 콘솔 출력
FileAppender: 파일 기록
DailyRollingFileAppender: 일자별 파일 생성
RollingFileAppender: 크기 제한 파일 생성
WriterAppender: 스트림 기반 출력

레이아웃(Layout) 형식

HTMLLayout: HTML 테이블 형식
PatternLayout: 사용자 정의 패턴
SimpleLayout: 기본 텍스트 형식
TTCCLayout: 시간-스레드-카테고리 정보

패턴 형식 지정자

%m: 로그 메시지
%p: 우선순위(레벨)
%c: 로거 카테고리
%t: 스레드 이름
%n: 개행 문자
%d: 날짜/시간 (예: %d{yyyy-MM-dd HH:mm:ss})
%l: 소스 위치(클래스,라인)

로거 초기화 방법

  1. 프로그램 내 기본 설정: BasicConfigurator.configure()
  2. 명령행 인자 전달: PropertyConfigurator.configure("경로")
  3. 환경 변수 활용
  4. 서블릿을 통한 구성

레벨별 출력 분리 예시

### 레벨 및 어펜더 설정 ###
log4j.rootLogger = DEBUG, CONSOLE, FILE_DEBUG, FILE_ERROR

### 콘솔 출력 ###
log4j.appender.CONSOLE = org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout = org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern = [%t] %-5p %c - %m%n

### 디버그 파일 출력 ###
log4j.appender.FILE_DEBUG = org.apache.log4j.RollingFileAppender
log4j.appender.FILE_DEBUG.File = logs/debug.log
log4j.appender.FILE_DEBUG.Threshold = DEBUG
log4j.appender.FILE_DEBUG.layout = org.apache.log4j.PatternLayout
log4j.appender.FILE_DEBUG.layout.ConversionPattern = %d %p %c - %m%n

### 에러 파일 출력 ###
log4j.appender.FILE_ERROR = org.apache.log4j.RollingFileAppender
log4j.appender.FILE_ERROR.File = logs/error.log
log4j.appender.FILE_ERROR.Threshold = ERROR
log4j.appender.FILE_ERROR.layout = org.apache.log4j.PatternLayout

구성 파일 로드 예제

public class LogInitializer {
    public static void main(String[] args) {
        PropertyConfigurator.configure("config/log4j.properties");
        Logger log = Logger.getLogger(LogInitializer.class);
        
        log.debug("디버그 메시지");
        log.error("오류 메시지");
    }
}

태그: Log4j Java로그 로그설정 Appender Layout

5월 29일 18:10에 게시됨