Logback의 통합 된 응용 프로그램을 구축 SpringBoot

의존성의 종류

  우리는 간단한 단량체의 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} 
  패턴 : 
    수준 : 정보

  

추천

출처www.cnblogs.com/pangyangqi/p/11443035.html