의존성의 종류
우리는 간단한 단량체의 IDEA와 응용 프로그램을 구축 할 때, POM 이미 logback의 의존성에 통합에 따라 달라집니다;
우리는 pom.xml 파일을 열 수 있습니다
<부모> <의 groupId> org.springframework.boot </의 groupId> <artifactId를> 스프링 부팅 스타터 - 부모 </ artifactId를> <버전> 2.1.7.RELEASE </ 버전> <relativepath를 /> <! - 조회 저장소에서 부모 -> </ 부모>
스프링 부팅 스타터 부모로 클릭 온 의존 봄 부팅 의존성
<부모> <의 groupId> org.springframework.boot </의 groupId> <artifactId를> 스프링 부팅 의존성 </ artifactId를> <version>은 2.1.7.RELEASE </ 버전> <relativepath를> ../../ 스프링이 부팅 의존성 </ relativepath를> </ 부모>
그리고 스프링 부팅 스타터에있는 스프링 부팅 의존성에
<의존성> <의 groupId> org.springframework.boot </의 groupId> <artifactId를> 스프링 부팅 스타터 </ artifactId를> <version>은 2.1.7.RELEASE </ 버전> </ 의존성>
그리고 스프링 부팅 선발로 스프링 부팅 스타터 로깅을 찾을 수
<의존성> <의 groupId> org.springframework.boot </의 groupId> <artifactId를> 스프링 부팅 스타터 로깅 </ artifactId를> <version>은 2.1.7.RELEASE </ 버전> <분야> 컴파일 </ 범위> < / 의존성>
의존 logback을 볼 수있을로 이동 클릭
<의존성> <의존성> <의 groupId> ch.qos.logback </의 groupId> <artifactId를> logback 고전 </ artifactId를> <version>은 1.2.3 </ 버전> <분야> 컴파일 </ 범위> </ 의존성> <의존성> <의 groupId> org.apache.logging.log4j </의 groupId> <artifactId를> Log4j의 투 SLF4J </ artifactId를> <version>은 2.11.2 </ 버전> <분야> 컴파일 </ 범위> </ 종속 > <의존성> <의 groupId> org.slf4j </의 groupId> <artifactId를> 7 월 투 SLF4J </ artifactId를> <version>은 1.7.26 </ 버전> <분야> 컴파일 </ 범위> </ 의존성> </ 의존성>
두 개의 XML 구성
첫째, 공식 이름 XML 형식 권장 :에 관해서는, logback-spring.xml 대신 logback.xml을 <springProfile> 라벨을 사용할 수 있습니다 이유 때문에 스프링 접미사
우리는 새로운 logback-spring.xml 자원 디렉토리에 다음과 작성
<? XML 버전 = "1.0"인코딩 = "UTF-8"?> <구성> <springProperty 범위 = "컨텍스트"NAME = "있으며 logLevel"소스 = "logging.pattern.level"/> <springProperty 범위 = "컨텍스트" 이름 = "logPath에"소스 = "logging.path"/> <springProperty 범위 = "컨텍스트"NAME = 'FILENAME "소스 ="logging.file "/> <펜더 NAME ="consoleLog "클래스 ="ch.qos.logback .core.ConsoleAppender "> <레이아웃 클래스 ="ch.qos.logback.classic.PatternLayout "> <패턴> % 일 [% 스레드] % -5level 로거 % {80} - %의 MSG %의 N </ 패턴> </ 레이아웃> </ 펜더> <펜더 NAME = "fileInfoLog"클래스 = "ch.qos.logback.core.rolling.RollingFileAppender"> <필터 클래스 = "ch.qos.logback.classic.filter.LevelFilter"> <레벨> ERROR </ 레벨> <onMatch> </ onMatch> 부정하는 <onMismatch> ACCEPT </ onMismatch> </ 필터링> <인코더> <패턴> % 일 [% 스레드] % -5level % 로거 {80} - %의 MSG %의 N </ 패턴> < / 인코더> <! -滚动策略-> <rollingPolicy 클래스 = "ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> <! -路径-> <fileNamePattern> $ {logPath에} / $ {fileName에} - %의 D {YYYY-MM-DD} - % i.log </ fileNamePattern> <MAXFILESIZE> 200메가바이트 </ MAXFILESIZE> <maxHistory> 60 </ maxHistory> < </ 펜더> <펜더 NAME = "fileErrorLog"클래스 = "ch.qos.logback.core.rolling.RollingFileAppender"> <필터 클래스 = "ch.qos.logback.classic.filter.ThresholdFilter"> <레벨> ERROR < / 레벨> </ 필터링> <인코더> <패턴> % 일 [% 스레드] % -5level % 로거 {80} - %의 MSG %의 N </ 패턴> </ 인코더> <! -滚动策略-> < rollingPolicy 클래스 = "ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> <! -路径-> <fileNamePattern> logPath에 $ {} / $ {fileName에} - %의 D {YYYY-MM-DD} -error- %나는.로그 </ fileNamePattern> <MAXFILESIZE> 200메가바이트 </ MAXFILESIZE> <maxHistory> 60 </ maxHistory> </ rollingPolicy> </를 펜더> <! - 여기서 특정 패킷에 대한 로그 레벨 아래에 배치 -> <! - 프로필 로깅 수준 항목을 설정한다 -> <NAME = 로거 "com.pyq.blog"레벨 = "$ {있으며 logLevel}"/> <! -> - 당신이 자신의 지역 개발 SQL을 인쇄하고 싶지만 제출하지 않는 개방 코멘트 <springProfile 이름 = "dev에"> <! -이 로그 수준은 모든 패키지 -> <= 루트 레벨 "$는 {} 로그 레벨은"> <REF-REF는 펜더 "consolelog는"= /> <! - <REF-REF는 펜더 "fileInfoLog를"= /> - > > - <! - <REF-REF는 펜더 "fileErrorLog를"/ => </ 루트> </ springProfile> <이름 = springProfile "테스트"> <= 루트 수준 "$ {} 로그 레벨은"> <! - 여기에 모든 패키지에 대한 로그 레벨 -> <! - <펜더-REF REF = "consoleLog"/> -> <펜더-REF REF ="fileInfoLog "/> <펜더-REF REF = "fileErrorLog"/> </ 루트> </ springProfile> <springProfile 이름 = "찌르다"> <루트 레벨 = "$ {있으며 logLevel}"> <! -此处是针对所有包的日志级别-> <! - <펜더-REF REF = "consoleLog"/> -> <펜더-REF REF = "fileInfoLog"/> <펜더-REF REF = "fileErrorLog"/> </ 루트> </ springProfile> </ 구성>
위의 패키지는 자신의 대체 이름을
세 YML 구성 로그
로깅 : 경로 : D : \ 로그 파일 : $ {spring.application.name} 패턴 : 수준 : 정보