그만큼 log4j.속성 파일은 키-값 쌍으로 속성을 저장하는 log4j 구성 파일입니다. log4j 속성 파일에는 log4j에서 사용하는 전체 런타임 구성이 포함되어 있습니다. 이 파일에는 log4j 어펜더 정보, 로그 수준 정보 및 파일 어펜더에 대한 출력 파일 이름이 포함됩니다.
문자열을 열거형으로 변환
기본적으로 LogManager는 CLASSPATH에서 log4j.properties라는 파일을 검색합니다.
log4j.properties 구문:
- 루트 로거의 수준은 DEBUG로 정의됩니다. DEBUG는 X라는 이름의 어펜더를 첨부합니다.
- X라는 어펜더를 유효한 어펜더로 설정하세요.
- 어펜더 X에 대한 레이아웃을 넣습니다.
Appender X에 대한 log4j.properties 파일의 구문을 살펴보겠습니다.
# Define the root logger with appender X log4j.rootLogger = DEBUG, X # Put the appender named X to be a File appender log4j.appender.X=org.apache.log4j.FileAppender # Define the layout for X appender log4j.appender.X.layout=org.apache.log4j.PatternLayout log4j.appender.X.layout.conversionPattern=%m%n
log4j.properties 예:
위 구문을 사용하여 log4j.properties 파일에 다음을 정의합니다.
- 루트 로거의 수준은 DEBUG로 정의됩니다. DEBUG 어펜더는 FILE이라는 이름을 갖습니다.
- 어펜더 FILE은 다음과 같이 정의됩니다. org.apache.log4j.FileAppender . 로그 디렉터리에 있는 log.out이라는 이름의 파일에 씁니다.
- 지정된 레이아웃 패턴은 %m%n입니다. 이는 인쇄된 로깅 메시지 뒤에 개행 문자가 따른다는 의미입니다.
# Define the root logger with appender file log4j.rootLogger = DEBUG, FILE # Define the file appender log4j.appender.FILE=org.apache.log4j.FileAppender log4j.appender.FILE.File=${log}/log.out # Define the layout for file appender log4j.appender.FILE.layout=org.apache.log4j.PatternLayout log4j.appender.FILE.layout.conversionPattern=%m%n
log4j는 ${variableName}과 같은 UNIX 스타일 변수 대체를 지원한다는 점에 유의하는 것이 중요합니다.
log4j.properties - 기타 예:
이 예에서는 모든 로깅이 콘솔로 리디렉션됩니다.
# Root logger option log4j.rootLogger=INFO, stdout # Direct log messages to stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.out log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
이 예에서는 모든 로깅 정보가 지정된 로그 파일로 리디렉션됩니다.
# Root logger option log4j.rootLogger=INFO, file # Direct log messages to a log file log4j.appender.file=org.apache.log4j.RollingFileAppender #Redirect to Tomcat logs folder #log4j.appender.file.File=${catalina.home}/logs/logging.log log4j.appender.file.File=C:\logigng.log log4j.appender.file.MaxFileSize=10MB log4j.appender.file.MaxBackupIndex=10 log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
이 예에서는 모든 로깅이 콘솔과 로그 파일 모두로 리디렉션됩니다.
# Root logger option log4j.rootLogger=INFO, file, stdout # Direct log messages to a log file log4j.appender.file=org.apache.log4j.RollingFileAppender log4j.appender.file.File=C:\logging.log log4j.appender.file.MaxFileSize=10MB log4j.appender.file.MaxBackupIndex=10 log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n # Direct log messages to stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.out log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n