log4j-파일 로그인
로깅 정보를 파일에 쓰려면 다음을 사용해야합니다. org.apache.log4j.FileAppender.
FileAppender 구성
FileAppender에는 다음과 같은 구성 가능한 매개 변수가 있습니다.
특성 | 기술 |
---|---|
즉시 플러시 | 이 플래그는 기본적으로 true로 설정되며 이는 각 추가 작업으로 플러시되는 파일에 대한 출력 스트림을 의미합니다. |
부호화 | 모든 문자 인코딩을 사용할 수 있습니다. 기본적으로 플랫폼 별 인코딩 체계입니다. |
문지방 | 이 어 펜더의 임계 값 수준입니다. |
파일 이름 | 로그 파일의 이름입니다. |
fileAppend | 이는 기본적으로 true로 설정되며 이는 동일한 파일의 끝에 로깅 정보가 추가됨을 의미합니다. |
bufferedIO | 이 플래그는 버퍼링 된 쓰기를 활성화해야하는지 여부를 나타냅니다. 기본적으로 false로 설정됩니다. |
버퍼 크기 | 버퍼링 된 I / O가 활성화 된 경우 버퍼 크기를 나타냅니다. 기본적으로 8kb로 설정되어 있습니다. |
다음은 샘플 구성 파일입니다. log4j.properties FileAppender-
# Define the root logger with appender file
log4j.rootLogger = DEBUG, FILE
# Define the file appender
log4j.appender.FILE=org.apache.log4j.FileAppender
# Set the name of the file
log4j.appender.FILE.File=${log}/log.out
# Set the immediate flush to true (default)
log4j.appender.FILE.ImmediateFlush=true
# Set the threshold to debug mode
log4j.appender.FILE.Threshold=debug
# Set the append to false, overwrite
log4j.appender.FILE.Append=false
# Define the layout for file appender
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%m%n
위와 동일한 XML 구성 파일을 원할 경우 log4j.properties 파일의 내용은 다음과 같습니다.
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration>
<appender name="FILE" class="org.apache.log4j.FileAppender">
<param name="file" value="${log}/log.out"/>
<param name="immediateFlush" value="true"/>
<param name="threshold" value="debug"/>
<param name="append" value="false"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="conversionPattern" value="%m%n"/>
</layout>
</appender>
<logger name="log4j.rootLogger" additivity="false">
<level value="DEBUG"/>
<appender-ref ref="FILE"/>
</logger>
</log4j:configuration>
위의 구성으로 log4j-샘플 프로그램 을 사용해 볼 수 있습니다.
여러 파일에 로그인
특정 이유 (예 : 파일 크기가 특정 임계 값에 도달 한 경우)로 인해 로그 메시지를 여러 파일에 기록 할 수 있습니다.
로깅 정보를 여러 파일에 쓰려면 다음을 사용해야합니다. org.apache.log4j.RollingFileAppender 확장하는 클래스 FileAppender 모든 속성을 상속합니다.
FileAppender에 대해 위에서 언급 한 것 외에 다음과 같은 구성 가능한 매개 변수가 있습니다.
특성 | 기술 |
---|---|
maxFileSize | 파일이 롤링 될 파일의 임계 크기입니다. 기본값은 10MB입니다. |
maxBackupIndex | 이 속성은 생성 할 백업 파일의 수를 나타냅니다. 기본값은 1입니다. |
다음은 샘플 구성 파일입니다. log4j.properties RollingFileAppender 용.
# Define the root logger with appender file
log4j.rootLogger = DEBUG, FILE
# Define the file appender
log4j.appender.FILE=org.apache.log4j.RollingFileAppender
# Set the name of the file
log4j.appender.FILE.File=${log}/log.out
# Set the immediate flush to true (default)
log4j.appender.FILE.ImmediateFlush=true
# Set the threshold to debug mode
log4j.appender.FILE.Threshold=debug
# Set the append to false, should not overwrite
log4j.appender.FILE.Append=true
# Set the maximum file size before rollover
log4j.appender.FILE.MaxFileSize=5MB
# Set the the backup index
log4j.appender.FILE.MaxBackupIndex=2
# Define the layout for file appender
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%m%n
XML 구성 파일을 원하면 초기 섹션에서 언급 한 것과 동일한 파일을 생성하고 다음과 관련된 추가 매개 변수 만 추가 할 수 있습니다. RollingFileAppender.
이 예제 구성은 각 로그 파일의 최대 허용 크기가 5MB임을 보여줍니다. 최대 크기를 초과하면 새 로그 파일이 생성됩니다. 이후maxBackupIndex 두 번째 로그 파일이 최대 크기에 도달하면 첫 번째 로그 파일이 지워지고 이후 모든 로깅 정보가 첫 번째 로그 파일로 롤백됩니다.
위의 구성으로 log4j-샘플 프로그램 을 사용해 볼 수 있습니다.
일일 로그 파일 생성
로깅 정보의 깨끗한 기록을 유지하기 위해 매일 로그 파일을 생성해야 할 수 있습니다.
로깅 정보를 매일 파일에 기록하려면 다음을 사용해야합니다. org.apache.log4j.DailyRollingFileAppender 확장하는 클래스 FileAppender 모든 속성을 상속합니다.
FileAppender에 대해 위에서 언급 한 매개 변수 외에 구성 가능한 중요한 매개 변수는 하나뿐입니다.
특성 | 기술 |
---|---|
DatePattern | 이는 파일을 롤오버 할시기와 따라야 할 명명 규칙을 나타냅니다. 기본적으로 롤오버는 매일 자정에 수행됩니다. |
DatePattern은 다음 패턴 중 하나를 사용하여 롤오버 일정을 제어합니다.
DatePattern | 기술 |
---|---|
'.' yyyy-MM | 매월 말과 다음 달 초에 이월합니다. |
'.' yyyy-MM-dd | 매일 자정에 롤오버합니다. 이것이 기본값입니다. |
'.' yyyy-MM-dd-a | 매일 정오와 자정에 롤오버합니다. |
'.' yyyy-MM-dd-HH | 매시간 맨 위에 롤오버하십시오. |
'.' yyyy-MM-dd-HH-mm | 1 분마다 롤오버합니다. |
'.' yyyy-ww | 로케일에 따라 매주 첫째 날에 롤오버합니다. |
다음은 샘플 구성 파일입니다. log4j.properties 매일 정오와 자정에 롤오버되는 로그 파일을 생성합니다.
# Define the root logger with appender file
log4j.rootLogger = DEBUG, FILE
# Define the file appender
log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender
# Set the name of the file
log4j.appender.FILE.File=${log}/log.out
# Set the immediate flush to true (default)
log4j.appender.FILE.ImmediateFlush=true
# Set the threshold to debug mode
log4j.appender.FILE.Threshold=debug
# Set the append to false, should not overwrite
log4j.appender.FILE.Append=true
# Set the DatePattern
log4j.appender.FILE.DatePattern='.' yyyy-MM-dd-a
# Define the layout for file appender
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%m%n
XML 구성 파일을 원하면 초기 섹션에서 언급 한 것과 동일한 파일을 생성하고 다음과 관련된 추가 매개 변수 만 추가 할 수 있습니다. DailyRollingFileAppender.
위의 구성으로 log4j-샘플 프로그램 을 사용해 볼 수 있습니다.