작은 클래스 D - 기본 제로 SpringBoot2.X이 _ 제 11 Logback 로깅 프레임 워크를 방지하고 소개하는 SpringBoot이 실제 구성과 Logback을 설명하는 로그 SpringBoot2.x, 전투 _45 통합

주의 사항

2, 구성 및 사용자 정의 Logback 전투 설명하는 로그 SpringBoot2.x
    설명 SpringBoot2.x 통합 Logback 실제 구성 : 소개

        1, 공식 웹 사이트 : HTTPS : //docs.spring.io/spring-boot/docs/2.1.0.BUILD-를 SNAPSHOT / 기준 / htmlsingle / # 부트 - 특징 로깅

           다양한 컴포넌트 케이스 : HTTPS : //logback.qos.ch/manual/index.html
        
        2 로그 분석 SpringBoot 시작
            제어 1) 기본적으로 스프링 부트 로그 출력을 대만

        3, 실제 logback의 통합
            1) 로그 파일 logback-spring.xml을 만들 수는 관계자는 -spring.xml 최종 권장
                구성 순서가 logback-spring.xml, logback-spring.groovy,로드 기본적으로로드를 logback.xml, 또는 logback.groovy
            
            의견을 : <구성>
                자식 노드
                <펜더> </를 펜더>                       
                <이력> </ 이력>
                <루트> </ 루트> (끝에 추가된다)        

 

시작


의 기본 시작 springboot는 logback 포함







기본은 정보 수준 일 때 봄 활성화를


뒤에 --dubug 추가합니다 자바 - 항아리와 더 많은 정보를 얻을하려는

새로운, logback-spring.xml 문서



미리 준비 복사 된 로그 파일을

<? XML 버젼 = "1.0"인코딩 = "UTF-8" ?> 
< 구성 > 

     < 펜더 이름 = "consoleApp 「클래스 ="ch.qos.logback.core.ConsoleAppender " > 
        < 레이아웃 클래스 ="ch.qos.logback. classic.PatternLayout " > 
            < 패턴 > 
                % 일 {YYYY-MM-DD HH : MM : ss.SSS} % -5level [% 스레드] % 로거 {56} %의 방법. %의 L - %의 MSG %의 N 
            </ 패턴 > 
        </ 레이아웃 > 
    </ 펜더 > 

    < 펜더 이름 = "fileInfoApp"= "ch.qos.logback.core.rolling.RollingFileAppender" > 
        < 필터 클래스 = "ch.qos.logback.classic.filter.LevelFilter" > 
             < 레벨 > ERROR </ 레벨 > 
            < onMatch > DENY </ onMatch > 
            < onMismatch > ACCEPT </ onMismatch > 
        </ 필터링 > 
        < 인코더 > 
            < 패턴 > 
                % 일 {YYYY-MM-DD HH : MM : ss.SSS} % -5level [% 스레드] % 로거 {56} %의 방법. % L - %의 MSG %의 N 
            </ 패턴 >
        </ 인코더 > 
        <! - 滚动策略-> 
        < rollingPolicy의 클래스 = "ch.qos.logback.core.rolling.TimeBasedRollingPolicy" > 
            <! - 路径-> 
            < fileNamePattern > app_log / app.info / 로그인합니다. d.log % </ fileNamePattern > 
        </ rollingPolicy > 
    </ 펜더 > 

    < 펜더 이름 = "fileErrorApp 「클래스 ="ch.qos.logback.core.rolling.RollingFileAppender " > 
        < 필터 클래스 ="ch.qos.logback. 권위 있는.filter.ThresholdFilter " >
            < 레벨 > ERROR </ 레벨 > 
        </ 필터링 > 
        < 인코더 > 
            < 패턴 > 
                % 일. {YYYY-MM-DD HH : MM : ss.SSS} % -5level [% 스레드] % 로거 {56} %에있어서 %의 L - %의 MSG %의 N 
            </ 패턴 > 
        </ 인코더 > 
        
        <! - 设置滚动策略-> 
        < rollingPolicy 클래스 = "ch.qos.logback.core.rolling.TimeBasedRollingPolicy" > 
            <! - 路径- > 
            < fileNamePattern > app_log / app.err / 로그인. % d.log </ fileNamePattern >
            
            <! - 삭제, 예약 된 아카이브의 최대 수를 제어 된 파일 수를 가정 초과 매월 스크롤, 
            및 <maxHistory> 1, 파일의 마지막 달 저장, 이전 파일 삭제 이전 - -> 
             < MaxHistory > . 1 </ MaxHistory > 
            
        </ rollingPolicy > 
    </ 펜더 > 
   < 루트 레벨 = "는 INFO" >   
        < 펜더-REF REF = "ConsoleApp" /> 
        < 펜더-REF REF = "fileInfoApp" /> 
        < 펜더 -ref REF = "fileErrorApp" /> 
    </ 루트 >
</ 구성 >

 





다양한 구성 요소 케이스 :은 https : //logback.qos.ch/manual/index.html


테스트 로그


패키지는 org.slf4j.Logger의 도입

로그 출력의 테스트를 여러 수준

런처







루트 노드 것은 최후로드





모두 수준이 경고 로그인 정보를 출력 내부 파일 정보를.

여기에 필터의 구성이 때문이다

여기 변경 루트가 디버깅하는 경우

응용 프로그램 다시 시작



오류 또는 오류는

오류 레벨을 필터링, 그래서 디버그, 정보를 경고 이러한 수준은 내부의 파일로 출력됩니다


degbu 간섭이 될 것입니다 쓸모없는 정보가 너무 많은 수준이있다. 여기에 일반적으로 사용하는 정보의 수준이 너무 많은 로깅 정보를 생성하지 않습니다, 우리는 디스크 공간을 차지




 

추천

출처www.cnblogs.com/wangjunwei/p/11431341.html