Log4j는 --- 파일을 구문 분석 및 구문

Log4j를 ------이다 아파치는 오픈 소스 프로젝트의 Log4j의 사용을 통해, 우리는 대상 로그를 제어 할 수 있습니다 정보 전달된다 콘솔 , 파일, GUI를의 구성 요소, 또는 소켓 서버, NT의 이벤트 로거, UNIX  시스템 로그는 데몬 등등.

    우리는 또한 수 있습니다 각 로그의 출력 형식을 제어 ;에 의해 각 로그 메시지의 정의의 수준 , 콘솔에만 만족하지의 Log4j 출력 할 수뿐만 아니라 파일에 출력의 내용을, 우리는 더 신중하게 빌드 프로세스 로그를 제어 할 수 있습니다.

    이들은이 될 수 프로파일 응용 프로그램 코드를 수정할 필요없이 유연하게 구성 할 수 있습니다. Log4j의 두 가지 구성 파일 형식을 지원합니다 : 하나는 XML 형식입니다. 하나는 속성 파일의 숙박 시설이다.

구성 요소 -------- Lo4g 로그 레벨 : 오프 (최고 수준)> 치명적인 (치명적인 오류)> 에러 (오류)> 경고 (경고)> 정보 (일반 정보)> 디버그 (디버그 정보) > 모든 ( 최하위 레벨)

    A : 주변의 모든 로깅을위한 최고 수준의 끕니다.
    B : 응용 프로그램을 종료하면 모든 심각한 오류가 발생하는 치명적인 지적 밖으로.
    C : 오류 오류가 사고 있지만, 여전히 시스템의 지속적인 작동에 영향을주지 않음을 지적했다.
    D는 : 따뜻한 잠재적 인 오류 조건이있을 것이라는 점을 나타냅니다.
    E : 일반 정보 및 대단위 수준, 실행을 전체 응용 프로그램을 강조.
    F는 : 일반적으로 응용 프로그램을 디버깅, 세분화 된 수준에 사용되는 디버깅 할 매우 도움이됩니다.
    G : 모든 가장 낮은 수준은 모든 로그를 엽니 다.

  참고 : 각 로그 파일은 로그 레벨 설정되어가, 로그 파일 기록 만이 될 수 보다 크거나 같은 정보의 수준으로, 일반적으로 사용되는 네 가지가 있습니다.

### 로깅 출력 레벨> 디버그 ### 
log4j.appender.D.Threshold = 디버그

  

------- Lo4g 어셈블리 Log4j.Appender 목적지 - 로그 정보의 출력 대상

      ConsoleAppender를 ------ (콘솔),
      FileAppender ------------ (파일)
      DailyRollingFileAppender은 ----- (매일 로그 파일을 생성).
      ----- ollingFileAppender (파일 크기는 새 파일 생성 지정된 크기에 도달)
      (스트림 포맷의 임의 지정 장소에 기록 정보)를 WriterAppender --------- 

(1)을 ConsoleAppender 옵션 :

    임계 값 = WARN : 로그 정보가 출력의 최소 수준을 지정, 기본값은 DEBUG입니다.
    ImmediateFlush 사실 = : 모든 메시지는 즉시 출력을 나타냅니다, 출력이 false로 설정되지 않은 경우 기본값은 true입니다.
    대상 System.err에 = : 기본값은 System.out에 있습니다.

(2) FileAppender 옵션 :

    임계 값 = WARN : 로그 정보가 출력의 최소 수준을 지정, 기본값은 DEBUG입니다.
    ImmediateFlush 사실 = : 모든 메시지는 즉시 출력을 나타냅니다, 출력이 false로 설정되지 않은 경우 기본값은 true입니다.
    추가]은 false = : 사실이 문서에 지정된 메시지는 메시지의 내용이 허위 문서를 지정하여, 기본이 참 덮여 있음을 나타냅니다.
    파일 = D : /logs/logging.log4j : 파일에 logging.log4j 뉴스 출력.

(3) DailyRollingFileAppender 옵션 :

    임계 값 = WARN : 로그 정보가 출력의 최소 수준을 지정, 기본값은 DEBUG입니다.
    ImmediateFlush 사실 = : 모든 메시지는 즉시 출력을 나타냅니다, 출력이 false로 설정되지 않은 경우 기본값은 true입니다.
    추가]은 false = : 사실이 문서에 지정된 메시지는 메시지의 내용이 허위 문서를 지정하여, 기본이 참 덮여 있음을 나타냅니다.
    파일 = D : /logs/logging.log4j : 지정 logging.log4j 메시지 파일에 전류 출력.
    DatePattern = YYYY-MM '.' : 매달 새 로그 파일을 생성 한 달 롤링 로그 파일, 일단. logging.log4j라는 현재 매월 로그 파일은 이전 달의 로그 파일 logging.log4j.yyyy-MM 이름.
    또한, 또한 다음과 같은 형식에 해당하는 로그 파일을 스크롤, 주, 일,시, 분으로 지정 될 수 있습니다
    . 1)이 MM-YYYY을 '.': 월
    2) YYYY-WW '.' :
    3) '. "YYYY-MM-DD : 일
    4) '.'YYYY-MM은 -DD-A는 : 하루에 두번
    5) 'YYYY-MM이. -HH -DD : 시간
    . 6)'를 YYYY-MM -dd- HH-mm : 분

(4) RollingFileAppender 옵션 :

    임계 값 = WARN : 로그 정보가 출력의 최소 수준을 지정, 기본값은 DEBUG입니다.
    ImmediateFlush 사실 = : 모든 메시지는 즉시 출력을 나타냅니다, 출력이 false로 설정되지 않은 경우 기본값은 true입니다.
    추가]은 false = : 사실이 문서에 지정된 메시지는 메시지의 내용이 허위 문서를 지정하여, 기본이 참 덮여 있음을 나타냅니다.
    파일 = D : /logs/logging.log4j : 파일에 logging.log4j 뉴스 출력.
    MAXFILESIZE = 100킬로바이트는 : 접미사 KB, MB 또는 GB가 될 수 있습니다. 로그 파일이이 크기에 도달하면 자동으로 곧 이동 logging.log4j.1 원본 파일의 내용을 스크롤됩니다.
    MaxBackupIndex = 2 : 지정 압연 생산 될 수있는 파일의 최대 수는, 예를 들어, 두 logging.log4j.1, logging.log4j.2 두 마는 종이와 logging.log4j 파일을 생성 할 수 있습니다 설정합니다.   

로그인 정보 출력 대상 ### - 콘솔 - 콘솔이라는 출력 단자 ### 정의 
log4j.appender.Console = org.apache.log4j.ConsoleAppender 알려줍니다 그 
로그 정보 ###의 목적지 --- 하루 파일 - 출력 단자 ###라고 정의하기 D 
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender

 

로그 정보의 구성 요소 ------- 형식 (레이아웃) : .. Log4j.Appender라는 이름의 레이아웃    

    (와 org.apache.log4j.HTMLLayout HTML의 레이아웃 표 양식),
    org.apache.log4j.PatternLayout (유연성 레이아웃 모드를 지정합니다)
    Org.apache.log4j.SimpleLayout (레벨 정보 및 로그 정보를 포함하는 문자열을 ,)
    org.apache.log4j.TTCCLayout (상기 로그가 생성 된 시간을 포함하여 나사 등의 타입 정보)
(1) HTMLLayout은 옵션 :
  LocationInfo가 = true로 : 자바 출력 파일 이름과 줄 번호, 기본값은 false입니다.
  제목은 내 로깅 = 기본값은 log4j 로깅 메시지입니다.
(2) PatternLayout은 옵션 :
  들 - ConversionPattern % = % N-m : 어떤 형식의 표시 메시지를 설정.
 
특정 형식 패턴 레이아웃을 사용하여 인쇄 정보 지정된 인쇄 매개 변수는 다음과들 - ConversionPattern 있습니다해야합니다 :
      메시지에 지정된 % M 출력 코드;
      %의 M 때 로그 출력 인쇄 법 이름;
      %의 P 출력의 우선 순위, 즉 DEBUG, '정보 , WARN, ERROR, FATAL;
      애플리케이션에서 % R의 출력은 출력 소비 (밀리 초)에 로그 정보를 시작한다;
      % C 출력 카테고리 클래스는 일반적으로 전체 이름이고 속한다;
      출력 생성 된 로그 이벤트 % T 스레드 이름;
      출력 % n은 개행 문자를 입력, Windows 플랫폼 "RN", 유닉스 플랫폼 "N";
      날짜 또는 시간 % d의 로그 출력 시점, 기본 형식을 사용하면 예에 따라 형식을 지정할 수 있습니다, ISO8601이다 : 비슷한 출력 : 2002-10- % d 개를 {: mm SS, SSS HH를 YYYY-MM은-DD} 18 22 : 10 : 28,921;
      % L 출력 로그 이벤트 발생 위치와 코드 라인의 수;
### 기록 정보 형식 로그 ### 
log4j.appender.D.layout = Org.apache.log4j.PatternLayout

 로그 정보 ###의 출력 형식
 log4j.appender.D.layout.ConversionPattern = % -d는 {YYYY-MM은 [%의 t %의 (R)] - [%의 P] %의 m : mm SS HH를 -DD} % n을

  

    다음과 같이 ----- 구성 파일에 코드의 첫 번째 라인을 log4j.properties 파일 :    

log4j.rootLogger = 디버그, 콘솔, D, E

     구문 분석 : rootLogger 루트 로거, 단 하나의 표현. Logger.getRootLogger () 함수를 호출하여, 일반적으로 루트 로거 개체를 얻으려면 객체 파라미터 테스트 클래스가있다.

        루트가 아닌 loggerName 레코더를 나타내며, 레코더가 여러 뿌리를 가질 수 없습니다. Logger.getLogger () 함수에 의해, 비 루트 객체 기록을 얻었다

     여기 레벨에 의해 정의 된대로 여기서 제 1 파라미터 레코더 출력 우선 루트는, 애플리케이션이 로그 정보의 적절한 레벨을 전환하기 위해 제어 될 수 있고, 단지 같고 이상 로그를 처리하는이 단계 전.

 

###는 구성 --- 로그 루트 Logger-- 우선 순위로 정의된다 출력 단자 ### 
는 스위칭 레벨에 대응하는 로그 정보의인가를 제어 할 수있는, 레벨 ###에 의해이 명세서에 정의 된 전용 같 이러한 레벨 이상 처리하고 ### 
Log4j.rootLogger = D 디버그 콘솔, 

### 출력 리프트 ###의 제어 정보 
log4j.appender.Console = org.apache.log4j.ConsoleAppender 그 지시 
log4j.appender.Console을 .target = 시스템. OUT 
log4j.appender.Console.layout = Org.apache.log4j.PatternLayout 
log4j.appender.Console.layout.ConversionPattern = [% -5p] % {D를 MM-DD-YYYY HH : MM : SS, } 메소드 SSS : L %%% m % N- N- 

### 출력 정보 E : // 로그 / ### Log.log를   

출력 로그 정보 세트 ### D라는 파일 - 출력 - 매일 생성 ### 
log4j.appender.D= Org.apache.log4j.FileAppender 
### 생산 사이트는 로그 파일을 ###으로 설정 
log4j.appender.D.File = E를 : / 로그 // Log.log를 
### 추가 정보를인지   거짓 - 클리어 ### 
의 log4j .appender.D.Append = true로 
###의 기록 출력 레벨 > 디버그 ### 
log4j.appender.D.Threshold = 디버그 
식 로깅 출력 ### 
log4j.appender.D.layout = ORG .apache.log4j.PatternLayout의 
###의 로그 정보 ###의 출력 포맷 
log4j.appender.D.layout.ConversionPattern = {-d : MM : SS % MM-DD HH-YYYY} %의 T : R & LT %] - [% P] m의 %의 % 않음

// 테스트 파일

cn.log4j.test 패키지;

수입 org.apache.log4j.Logger;
수입 org.apache.log4j.chainsaw.Main;

공용 클래스 테스트 {
정적 로거 로거 = Logger.getLogger (Test.class라는);
공공 정적 무효 메인 (문자열 []에 args) {
logger.debug ( "测试");
logger.warn ( "警告");
}
}

 

추천

출처www.cnblogs.com/Tanggula-pioneer/p/11797565.html