IBM Enterprise Records, 버전 5.1.2    

log4j.properties 파일 구성

IBM® Enterprise Records 애플리케이션에 사용자가 구성할 수 있는 샘플 log4j.properties 파일이 포함되어 있습니다.

log4j.properties 파일은 ier_install_path\RecordsManagerSweep 폴더에 있으며, 다음 특성에 대한 파일에 값을 지정하여 로깅 동작을 구성할 수 있습니다.

log4j.properties 파일의 각 로거에 레벨이 지정됩니다. 로거에 레벨을 지정하지 않는 경우 log4j에서 지정되지 않은 로거에 상위 로거의 레벨을 자동으로 지정합니다. 기본적으로 로거에 WARN 레벨이 지정됩니다.

다른 로거, 어펜더 및 레이아웃 설정으로 log4j.properties 파일을 구성할 수 있습니다. 클래스 경로에서 런타임 시 애플리케이션에서 log4j.properties 파일이 사용 가능해야 합니다. 명령문 접두부로 해시 기호(#)를 붙여 샘플 파일에서 항목의 주석을 처리할 수 있습니다. 해시 기호(#)가 표시된 항목은 런타임 시 건너 뜁니다.

log4j.properties 파일을 열려면, ier_install_path\RecordsManagerSweep 폴더로 이동한 후 텍스트 편집기를 사용하여 파일을 여십시오.

로거 및 로깅 레벨 설정

먼저 로거를 설정해야 합니다. 애플리케이션에 필요한 로깅 유형을 분류하기 위해 여러 로거를 사용할 수 있습니다. com.filenet.rm의 모든 클래스 및 해당 하위 패키지에 대한 로깅을 사용하려면 다음 명령문에 표시된 대로 로거를 지정하십시오.

log4j.logger.com.filenet.rm 

또는 로거의 이름을 지정할 수 있습니다. 예를 들어, 다음 명령문에 표시된 대로 로거의 이름을 APILOG로 지정할 수 있습니다.

log4j.logger.com.filenet.rm=warn, APILOG

런타임 시 log4j에 의해 기록된 메시지의 세부사항 레벨을 설정하려면 로깅 레벨을 설정해야 합니다. log4j에서는 다음 표에 표시된 대로 5개의 보통 로깅 레벨을 지원합니다.

표 1. 런타임 시 log4j에 의해 기록된 메시지 레벨
레벨 설명
DEBUG 애플리케이션을 디버그하는 데 가장 유용한 세분화된 정보 이벤트를 지정합니다.
INFO 비세분 레벨에서 애플리케이션의 진행을 강조표시하는 정보 메시지를 지정합니다.
WARN 잠재적으로 유해한 상황을 지정합니다.
ERROR 애플리케이션이 계속해서 실행되도록 허용하는 오류 이벤트를 지정합니다.
FATAL 애플리케이션 실행을 중지시킬 수 있는 심각한 오류 이벤트를 지정합니다.

특수 및 사용자 정의 로깅 레벨에 대한 정보는 Apache 웹 사이트의 log4j 문서를 참조하십시오. 기본적으로 애플리케이션이 WARN 레벨에서 시작됩니다. 런타임 시 이 레벨을 DEBUG, INFO, ERROR, WARN 또는 FATAL 레벨로 수정할 수 있습니다. 또한 동일한 로거에 대해 각각 레벨이 다른 여러 로거 명령문을 포함할 수 있습니다(예: DEBUG 및 WARN). 명령문 접두부로 해시 기호(#)를 붙여 샘플 파일에서 둘 중 하나의 주석을 처리할 수 있습니다. 그런 다음, 필요에 따라 DEBUG 레벨과 WARN 레벨 간에 전환하십시오. 해시 기호(#)가 표시된 항목은 런타임 시 건너 뜁니다. 레벨이 없는 로거는 상위 로거의 레벨을 자동으로 상속합니다. 기본적으로, IBM Enterprise Records에서 API 로거에 WARN 레벨이 지정됩니다.

어펜더 설정

로거는 로그 메시지를 출력 매체에 쓸 수 있도록 하나 이상의 어펜더와 연관되어 있습니다. 로그 정보를 지정된 출력 위치에 송신하는 log4j.properties 파일에 다른 종류의 어펜더를 설정할 수 있습니다. 다음 표에서는 간단한 설명 및 관련 옵션과 함께 log4j.properties 파일에서 사용되는 모든 어펜더의 목록을 제공합니다.

표 2. 어펜더, 설명 및 코드 단편
어펜더 설명 및 코드 단편
NTEventLogAppender

Microsoft Windows NT 이벤트 로그에 추가합니다. 이 어펜더가 설치되고 Windows 시스템에만 사용할 수 있습니다.

log4j.appender.APILOG=org.apache.log4j.nt.NTEventLogAppender
ConsoleAppender

사용자가 지정한 레이아웃을 사용하여 System.out(기본값) 또는 System.err 스트림에 로그 메시지를 추가합니다.

 log4j.appender.APILOG=org.apache.log4j.ConsoleAppender

옵션:

  • Threshold=WARN: 이 어펜더는 우선순위가 더 낮은 레벨로 설정되어 있는 경우에도 여기에 지정된 것보다 우선순위가 낮은 메시지를 로그하지 않습니다. 예를 들어, 이 설정은 콘솔에 모든 메시지를 표시하면서 파일 로그에서 메시지 수를 줄이는 데 유용합니다.
  • ImmediateFlush=true: 기본 설정은 true입니다. 즉, 로그 메시지가 버퍼링되지 않습니다. ImmdiateFlush가 false로 설정되어 있는 경우, 애플리케이션에 문제가 발생하면 마지막 몇 개의 로그 이벤트가 상수 매체에 기록되지 않습니다.
FileAppender

로그 메시지를 파일에 추가합니다.

 log4j.appender.APILOG=org.apache.log4j.FileAppender

옵션:

  • Threshold=WARN: 이 어펜더는 우선순위가 더 낮은 레벨로 설정되어 있는 경우에도 여기에 지정된 것보다 우선순위가 낮은 메시지를 로그하지 않습니다. 예를 들어, 이 설정은 콘솔에 모든 메시지를 표시하면서 파일 로그에서 메시지 수를 줄이는 데 유용합니다.
  • ImmediateFlush=true: 기본적으로 true로 설정됩니다. 즉, 로그 메시지가 버퍼링되지 않습니다. ImmdiateFlush가 false로 설정되어 있는 경우, 애플리케이션에 문제가 발생하면 마지막 몇 개의 로그 이벤트가 상수 매체에 기록되지 않습니다.
  • File=mylog.txt: 로그할 파일 이름입니다. ${some_property_key}(예: java.home 또는 user.home 시스템 특성)를 사용하여 경로를 지정합니다.
  • Append=false: 기본적으로 true로 설정됩니다. 즉, 파일의 끝에 추가합니다. False로 설정하면 각 프로그램 실행 시작 시 파일이 겹쳐 쓰입니다.
RollingFileAppender

특정 크기에 도달하면 로그 파일을 백업하도록 FileAppender를 확장합니다.

 log4j.appender.APILOG=org.apache.log4j.RollingFileAppender

옵션:

  • Threshold=INFO: 이 어펜더는 우선순위가 더 낮게 설정되어 있는 경우에도 여기에 지정된 것보다 우선순위가 낮은 메시지를 로그하지 않습니다. 예를 들어, 이 설정은 콘솔에 모든 메시지를 표시하면서 파일 로그에서 메시지 수를 줄이는 데 유용합니다.
  • ImmediateFlush=true: 기본적으로 true로 설정됩니다. 즉, 로그 메시지가 버퍼링되지 않습니다. ImmdiateFlush가 false로 설정되어 있는 경우, 애플리케이션에 문제가 발생하면 마지막 몇 개의 로그 이벤트가 상수 매체에 기록되지 않습니다.
  • File=mylog.txt: 로그할 파일 이름입니다. ${some_property_key}(예: java.home 또는 user.home 시스템 특성)를 사용하여 앞쪽에 경로를 지정합니다.
  • Append=false: 기본적으로 true로 설정됩니다. 즉, 파일의 끝에 추가합니다. false로 설정하면 각 프로그램 실행 시작 시 파일이 겹쳐 쓰입니다.
  • MaxFileSize=100 KB: 접미부는 KB, MB 또는 GB입니다. 이 크기에 도달하면 로그 파일을 롤링하십시오. 추가 시 출력 파일을 겹쳐쓰는지(false) 또는 추가(true)되는지 여부를 판별하는 부울 값이 사용됩니다. 값을 false(기본값)로 설정하면 파일이 끝없이 늘어나지 않게 됩니다. 종종 일회성 실행을 수행하는 개발 환경에서 이 설정을 사용하십시오. 값을 true로 설정하면 각 JVM 실행에서 기존 로그 파일에 출력이 추가됩니다. MaxFileSize 키워드를 설정하여 출력 파일의 크기를 제한할 수 있습니다. 예를 들어, MaxFileSize=128KB 및 MaxBackupIndex=1인 출력 파일 cjapi_log.txt를 구성하는 경우, 파일이 128KB를 초과하면 해당 컨텐츠가 cjapi_log.txt.1로 자동으로 이동되며 계속해서 빈 cjapi_log.txt 파일에 계속 쓰입니다.
  • MaxBackupIndex=2: 예를 들어, 최대 2개의 백업 파일을 유지보수합니다. 가장 오래된 파일을 지웁니다. 0은 유지되는 백업 파일이 없음을 의미합니다.

레이아웃 설정

log4j.properties 파일에 로그 메시지 형식을 지정하는 여러 다른 레이아웃을 설정할 수 있습니다. 로그 메시지에 날짜, 시간, 모듈 이름, 스레드 이름 및 기타 정보가 포함되도록 지정할 수 있습니다. 이러한 구성 설정은 메시지를 로깅하는 동안 런타임 시 사용됩니다.

다음 표에서는 간단한 설명 및 관련 옵션과 함께 IBM Enterprise Records log4j.properties 파일에서 사용되는 모든 레이아웃의 목록을 제공합니다.

표 3. 레이아웃 및 설명
레이아웃 설명 및 코드 단편
SimpleLayout

레벨은 인쇄하며 대시(-) 뒤에 로그 메시지 텍스트가 옵니다.

org.apache.log4j.SimpleLayout
PatternLayout

지정된 변환 패턴에 따라 로깅 이벤트를 형식화합니다. 변환 패턴은 리터럴 텍스트 및 변환 지정자로 구성됩니다. 리터럴 텍스트는 있는 그대로의 출력입니다. 변환 지정자는 % 문자 뒤에 선택적 형식 수정자 및 필수 변환 문자가 오는 방식으로 구성됩니다. 예를 들어, %-5p [%t]: %m%n은 우선순위 변환 지정자 다음에 리터럴 텍스트 " ["가 오는 방식으로 구성된 변환 패턴입니다. 이 문자열 뒤에는 스레드 변환 지정자가 오며, 그 뒤에는 리터럴 텍스트 "]: "가 옵니다. 이 문자열 뒤에는 메시지 변환 지정자와 시스템별 행 구분 기호가 옵니다.

org.apache.log4j.PatternLayout

옵션:

  • ConversionPattern=%-5p, [%t]:%m%n: 각 로그 메시지를 형식화하는 방법(포함할 정보)
HTMLLayout

출력을 HTML 테이블로 형식화합니다.

org.apache.log4j.HTMLLayout

옵션:

  • LocationInfo=true: Javaâ 파일 이름 및 행 번호를 출력합니다. 기본 설정은 false입니다.
  • Title=My app title: HTML의 <title> 태그를 설정합니다. 기본 설정은 Log4J 로그 메시지입니다.
 

출력을 XML로 형식화합니다.

org.apache.log4j.xml.XMLLayout

옵션:

  • LocationInfo=true: Java 파일 이름 및 행 번호를 출력합니다. 기본 설정은 false입니다.

IBM Enterprise Records와 함께 제공되는 log4j.properties 파일은 로그 메시지 형식에 PatternLayout을 사용합니다. 다음 표에서는 간단한 설명과 함께 구성 파일에 선언할 수 있는 변환 패턴의 목록을 제공합니다.

표 4. 변환 패턴 및 설명
패턴 설명
%t 로그 요청을 작성하는 스레드 이름
%c 로그 요청과 연관된 로거 수
%-60c 최소 60 간격 내에 로거 이름을 왼쪽으로 맞춤
%r 애플리케이션을 시작한 후 경과된 시간(밀리초)
%p 로그 명령문의 레벨
%m 메시지
%Time 로깅이 발생하는 시간
%d 로깅 이벤트 날짜
%n 줄 바꾸기

다음 코드 명령문은 PatternLayout을 사용하고 단순 변환 패턴을 지정하는 방법을 보여줍니다.

log4j.appender.APILOG.layout=org.apache.log4j.PatternLayout
log4j.appender.APILOG.layout.ConversionPattern=%-5p %d {dd MMM yyyy HH:mm:ss,SSS}, -%m, %r, [%M] % n

예:

WARN, 20 Jun 2005 14:48:20,900, -[enter] getObjectStoreXML(ObjectStores), 102042, [setLoggerMessage]
WARN, 20 Jun 2005 14:48:21,100, -[exit] getObjectStoreXML(ObjectStores), 102342, [setLoggerMessage]


피드백

마지막 업데이트 날짜: 2013년 11월
configure_rm_logging.htm

© Copyright IBM Corp. 2013