Log4j 프레임 워 크 설정 파일 log4j. properties 설정 사용 설명
Log4j 는 두 가지 프로필 형식 을 지원 합 니 다. 하 나 는 XML 형식의 파일 입 니 다. 하 나 는 properties (key = value) 파일 입 니 다. 그 중에서 properties 형식의 프로필 이 가장 자주 사용 되 고 고정된 파일 이름 인 log4j. properties 가 있 습 니 다. 다음은 properties 파일 을 프로필 로 사용 하 는 방법 을 소개 합 니 다.
2. log4j. properties 설정 파일 상세 설명
이전 글 에서 Log4j 프레임 워 크 의 주요 업무 내용 은 세 가지 기능 을 중심 으로 한다 고 지적 했다.
1. rootLogger 설정
rootLogger 의 설정 방식:
log4j.rootLogger = level,appenderName1,appenderName2, .....
rootLogger 설정 상세 설명
level 은 로그 기록 의 우선 순위 입 니 다.
OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL
또는 사용자 정의 단계 로 나 뉘 어 있 습 니 다. 기본 우선 순위: ALL < DEBUG < INFO
Log4j 는 ERROR, WARN, INFO, DEBUG 등 네 단계 만 사용 하 는 것 을 권장 합 니 다.여기 서 정 의 된 단 계 를 통 해 프로그램 에서 해당 단계 의 로그 정 보 를 제어 할 수 있 는 스위치 입 니 다.예 를 들 어 여기 서 INFO 단 계 를 정의 하면 프로그램의 모든 DEBUG 단계 로그 정 보 는 인쇄 되 지 않 습 니 다.appenderName 은 로그 정보 출력 위치 로 여러 출력 목적 지 를 동시에 지정 할 수 있 습 니 다.
2. 로그 정보 출력 목적지 Appender 설정
Appender 설정 방법:
log4j.appender.appenderName = Log4j appender
log4j.appender.appenderName. =
.....
log4j.appender.appenderName. =
Appender 설정 상세 설명
Log4j 가 제공 하 는 appender 는 다음 과 같은 5 가지 가 있 는데 각각 로그 정 보 를 5 개의 서로 다른 플랫폼 으로 출력 할 수 있 습 니 다.
org.apache.log4j.ConsoleAppender( )
org.apache.log4j.FileAppender( )
org.apache.log4j.DailyRollingFileAppender( )
org.apache.log4j.RollingFileAppender( )
org.apache.log4j.WriterAppender( )
ConsoleAppender
Threshold = WARN: 로그 메시지 의 출력 최저 단 계 를 지정 합 니 다.ImmediateFlush = true: 기본 값 은 true 입 니 다. 모든 메시지 가 즉시 출력 된다 는 뜻 입 니 다.Target = System. err: 기본 값 은 System. out 입 니 다. 출력 콘 솔 을 지정 합 니 다.
FileAppender
Threshold = WARN: 로그 메시지 의 출력 최저 단 계 를 지정 합 니 다.ImmediateFlush = true: 기본 값 은 true 입 니 다. 모든 메시지 가 즉시 출력 된다 는 뜻 입 니 다.File = mylog. txt: mylog. txt 파일 에 메 시 지 를 출력 합 니 다.Append = false: 기본 값 은 true 입 니 다. 지정 한 파일 에 메 시 지 를 추가 할 것 입 니 다. false 는 메시지 가 지정 한 파일 내용 을 덮어 쓰 는 것 을 말 합 니 다.
DailyRollingFileAppender
Threshold = WARN: 로그 메시지 의 출력 최저 단 계 를 지정 합 니 다.ImmediateFlush = true: 기본 값 은 true 입 니 다. 모든 메시지 가 즉시 출력 된다 는 뜻 입 니 다.File = mylog. txt: mylog. txt 파일 에 메 시 지 를 출력 합 니 다.Append = false: 기본 값 은 true 입 니 다. 지정 한 파일 에 메 시 지 를 추가 할 것 입 니 다. false 는 메시지 가 지정 한 파일 내용 을 덮어 쓰 는 것 을 말 합 니 다.DatePattern = "." yyy - ww: 일주일 에 한 번 씩 파일 을 스크롤 합 니 다. 즉, 매주 새로운 파일 이 생 성 됩 니 다.물론 월, 주, 일, 시 와 분 을 지정 할 수도 있다."yyy - MM: 매월 2)". "yyy - www: 매주 3)". "yyy - MM - dd: 매일 4)". "yyy - MM - dd - a: 매일 두 번 5)". "yyy - MM - dd - HH: 시간 당 6)". "yyy - MM - dd - HH - mm: 분당
RollingFileAppender
Threshold = WARN: 로그 메시지 의 출력 최저 단 계 를 지정 합 니 다.ImmediateFlush = true: 기본 값 은 true 입 니 다. 모든 메시지 가 즉시 출력 된다 는 뜻 입 니 다.File = mylog. txt: mylog. txt 파일 에 메 시 지 를 출력 합 니 다.Append = false: 기본 값 은 true 입 니 다. 지정 한 파일 에 메 시 지 를 추가 할 것 입 니 다. false 는 메시지 가 지정 한 파일 내용 을 덮어 쓰 는 것 을 말 합 니 다.MaxFileSize = 100 KB: 접 두 사 는 KB, MB 또는 GB 일 수 있 습 니 다. 로그 파일 이 이 시간 에 도착 하면 자동 으로 스크롤 되 고 원래 내용 을 my log. log. 1 파일 로 이동 합 니 다.MaxBackupIndex = 2: 스크롤 파일 의 최대 수 를 지정 합 니 다.
3. 로그 정보의 형식 설정 (레이아웃)
로그 정보 형식의 설정 방식:
log4j.appender.appenderName.layout = Log4j layout
log4j.appender.appenderName.layout. =
.....
log4j.appender.appenderName.layout. =
로그 정보 형식의 설정 상세 설명
Log4j 가 제공 하 는 layot 는 다음 과 같은 몇 가지 가 있 습 니 다.
org.apache.log4j.HTMLLayout( HTML ),
org.apache.log4j.PatternLayout( ),
org.apache.log4j.SimpleLayout( ),
org.apache.log4j.TTCCLayout( 、 、 )
HTMLLayout
LocationInfo = true: 기본 값 은 false 입 니 다. 자바 파일 이름과 줄 번 호 를 출력 합 니 다. Title = my app file: 기본 값 은 Log4J Log Messages 입 니 다.
PatternLayout
ConversionPattern =% m% n: 지정 한 메 시 지 를 포맷 하 는 방법 을 지정 합 니 다.
XMLLayout
LocationInfo = true: 기본 값 은 false 입 니 다. 자바 파일 과 줄 번호 Log4J 를 출력 할 때 C 언어 와 유사 한 printf 함수 의 인쇄 형식 으로 로그 정 보 를 포맷 합 니 다. 인쇄 매개 변 수 는 다음 과 같 습 니 다.
og4j.appender.A1.layout.ConversionPattern=%-4r %-5p %d{yyyy-MM-dd HH:mm:ssS} %c %m%n
로그 정보 형식 에서 몇 개의 기호 가 대표 하 는 의미:
- X 번: X 정보 출력 시 왼쪽 정렬;%p: 출력 로그 정보 우선 순위, 즉 DEBUG, INFO, WARN, ERROR, FATAL,% d: 출력 로그 시점 의 날짜 나 시간, 기본 형식 은 ISO 8601 이 며, 그 다음 에 형식 을 지정 할 수 있 습 니 다. 예 를 들 어% d {yy MMM dd HH: mm: ss, SSS},출력 유사 성: 2002 년 10 월 18 일 22: 10: 28, 921% r: 출력 자체 응용 프로그램 이 이 로그 정 보 를 출력 하 는 데 소요 되 는 밀리초 수% c: 출력 로그 정보 에 속 하 는 클래스 입 니 다. 보통 해당 클래스 의 전체 이름% t: 출력 에서 이 로그 이벤트 가 발생 하 는 스 레 드 이름% l: 출력 로그 이벤트 의 발생 위치 설정 은% C.% M (% F:% L) 의 조합 에 해당 합 니 다. 클래스 이름, 발생 하 는 스 레 드 를 포함 합 니 다.그리고 줄 수.예: Testlog 4. main (TestLog4. java: 10)% x: 현재 스 레 드 와 연 결 된 NDC (내장 진단 환경) 를 출력 합 니 다. 특히 자바 servlets 와 같은 다 중 클 라 이언 트 다 중 스 레 드 응용 에 사 용 됩 니 다.%%:'%' 문자% F: 출력 로그 메시지 가 생 겼 을 때 있 는 파일 이름% L: 출력 코드 의 줄 번호% m: 출력 코드 에서 지정 한 메시지, 로그 의 구체 적 인 정보% n: Enter 줄 바 꿈 자 를 출력 합 니 다. Windows 플랫폼 은 '\ r', Unix 플랫폼 은 '출력 일지 정보 줄 바 꿈' 입 니 다.
% 와 패턴 문자 사이 에 수정자 를 추가 하여 최소 너비, 최대 너비, 텍스트 와 의 정렬 방식 을 제어 할 수 있 습 니 다.예:
1)% 20c: 출력 category 의 이름 을 지정 합 니 다. 최소 폭 은 20 입 니 다. category 의 이름 이 20 보다 작 으 면 기본 값 으로 오른쪽 정렬 합 니 다.2)% - 20c: 출력 category 의 이름 을 지정 합 니 다. 최소 폭 은 20 입 니 다. category 의 이름 이 20 보다 작 으 면... -"번 호 는 왼쪽 정렬 을 지정 합 니 다. 3)%. 30c: 출력 category 의 이름 을 지정 합 니 다. 최대 폭 은 30 입 니 다. category 의 이름 이 30 보다 크 면 왼쪽 에 있 는 문 자 를 자 르 지만 30 보다 작 으 면 빈 칸 이 없습니다. 4)% 20.30c: category 의 이름 이 20 보다 작 으 면 빈 칸 을 보충 하고 오른쪽 정렬 합 니 다. 이름 이 30 자 이상 이면 왼쪽 에서 멀리 판 매 된 문 자 를 건 네 줍 니 다."잘라 버리다
3. log4j. properties 설정 파일 사례
위의 설정 파일 에 대한 분석 에 따 르 면 구체 적 인 log4j. properties 설정 파일 을 제시 하여 여러 가지 설정 을 완전 하 게 진행 하 였 습 니 다.
log4j.rootLogger=INFO,consoleAppender,logfile,MAIL
log4j.addivity.org.apache=true
#ConsoleAppender,
#FileAppender,
#SMTPAppender,
#SocketAppender,Socket
#NTEventLogAppender,Window NT
#SyslogAppender,
#JMSAppender,
#AsyncAppender,
#NullAppender
# :RollingFileAppender
#log4j.rootLogger = INFO,logfile
log4j.appender.logfile = org.apache.log4j.RollingFileAppender
log4j.appender.logfile.Threshold = INFO
# INFO
log4j.appender.logfile.File = INFO_log.html
# log
Log4j
10
log4j.appender.logfile.Append = true
# true, ,false
log4j.appender.logfile.MaxFileSize = 1MB
# log , 1 # KB ,MB,GB
log4j.appender.logfile.MaxBackupIndex = 3
# 3
log4j.appender.logfile.layout = org.apache.log4j.HTMLLayout
#
log4j.appender.logfile.layout.LocationInfo = true
#
log4j.appender.logfile.layout.Title
=title:\u63d0\u9192\u60a8\uff1a\u7cfb\u7edf\u53d1\u751f\u4e86\u4e25\u91cd\u9519\u8b
ef
#html < title >
############################## SampleLayout ####################################
# log4j.appender.logfile.layout = org.apache.log4j.SampleLayout
############################## PatternLayout ###################################
# log4j.appender.logfile.layout = org.apache.log4j.PatternLayout
# log4j.appender.logfile.layout.ConversionPattern =% d % p [ % c] - % m % n % d
############################## XMLLayout #######################################
# log4j.appender.logfile.layout = org.apache.log4j.XMLLayout
# log4j.appender.logfile.layout.LocationInfo = true #
############################## TTCCLayout ######################################
# log4j.appender.logfile.layout = org.apache.log4j.TTCCLayout
# log4j.appender.logfile.layout.DateFormat = ISO8601
#NULL, RELATIVE, ABSOLUTE, DATE or ISO8601.
# log4j.appender.logfile.layout.TimeZoneID = GMT - 8 : 00
# log4j.appender.logfile.layout.CategoryPrefixing = false ## true
# log4j.appender.logfile.layout.ContextPrinting = false ## true
# log4j.appender.logfile.layout.ThreadPrinting = false ## true
# :
#2007 - 09 - 13 14 : 45 : 39 , 765 [http - 8080 - 1 ] ERROR com.poxool.test.test -
error
###############################################################################
# :DailyRollingFileAppender
#log4j.rootLogger = INFO,errorlogfile
log4j.appender.errorlogfile = org.apache.log4j.DailyRollingFileAppender
log4j.appender.errorlogfile.Threshold = ERROR
log4j.appender.errorlogfile.File = ../logs/ERROR_log
log4j.appender.errorlogfile.Append = true
# true, ,false
log4j.appender.errorlogfile.ImmediateFlush = true
# ,
# ' . ' yyyy - MM: log
# ' . ' yyyy - ww: log
# ' . ' yyyy - MM - dd: log
# ' . ' yyyy - MM - dd - a: log
# ' . ' yyyy - MM - dd - HH: log
# ' . ' yyyy - MM - dd - HH - mm: log
Log4j
11
log4j.appender.errorlogfile.DatePattern = ' . ' yyyy - MM - dd ' .log '
#
log4j.appender.errorlogfile.layout = org.apache.log4j.PatternLayout
log4j.appender.errorlogfile.layout.ConversionPattern =%d %p [ %c] - %m %n %d
# :
#log4j.rootLogger = INFO,consoleAppender
log4j.appender.consoleAppender = org.apache.log4j.ConsoleAppender
log4j.appender.consoleAppender.Threshold = ERROR
log4j.appender.consoleAppender.layout = org.apache.log4j.PatternLayout
log4j.appender.consoleAppender.layout.ConversionPattern =%d %-5p %m %n
log4j.appender.consoleAppender.ImmediateFlush = true
# ,
log4j.appender.consoleAppender.Target = System.err
# System.out
# :SMTPAppender
#log4j.rootLogger = INFO,MAIL
log4j.appender.MAIL = org.apache.log4j.net.SMTPAppender
log4j.appender.MAIL.Threshold = INFO
log4j.appender.MAIL.BufferSize = 10
log4j.appender.MAIL.From = yourmail@gmail.com
log4j.appender.MAIL.SMTPHost = smtp.gmail.com
log4j.appender.MAIL.Subject = Log4J Message
log4j.appender.MAIL.To = yourmail@gmail.com
log4j.appender.MAIL.layout = org.apache.log4j.PatternLayout
log4j.appender.MAIL.layout.ConversionPattern =%d - %c -%-4r [%t] %-5p %c %x - %m %n
# :JDBCAppender
log4j.appender.DATABASE = org.apache.log4j.jdbc.JDBCAppender
log4j.appender.DATABASE.URL = jdbc:oracle:thin:@ 210.51 . 173.94 : 1521 :YDB
log4j.appender.DATABASE.driver = oracle.jdbc.driver.OracleDriver
log4j.appender.DATABASE.user = ydbuser
log4j.appender.DATABASE.password = ydbuser
log4j.appender.DATABASE.sql = INSERT INTO A1 (TITLE3) VALUES ( ' %d - %c %-5p %c %x - %m%n
' )
log4j.appender.DATABASE.layout = org.apache.log4j.PatternLayout
log4j.appender.DATABASE.layout.ConversionPattern =% d - % c -%- 4r [ % t] %- 5p % c %
x - % m % n
# , org.apache.log4j.jdbc.JDBCAppender getConnection()
, insert
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Log4j는 서로 다른 logger의 동적 설정에 서로 다른 설정을 부여합니다지금 로고4j가 있어요.properties 프로필, logger 설정을 동적으로 바꾸고 다른 디렉터리로 동적으로 출력하려면 다음과 같은 코드로 조작할 수 있습니다. property 파일은 다음과 같습니다. 실행 후 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.