zoukankan      html  css  js  c++  java
  • logback-spring.xml配置文件详解

    • logback文件中的value="G:/logs/pmp"这个值可以自己改到自己的目录下,如果你相关依赖弄好的话,直接复制粘贴即用
    • 输出的日志文件的名称最好也改下,下文中<file>${log.path}/web_info.log</file>是因为我这个模块就叫web,要改的话,一个appender改两处
    • 集成到springboot的yml格式配置文件的示例:
      logging: config: 
        classpath:logback-spring.xml
        level:
          dao: debug
          org:
            mybatis: debug
    • 下面是具体logback配置:
        1 <?xml version="1.0" encoding="UTF-8"?>
        2 <!-- 日志级别从低到高分为TRACE < DEBUG < INFO < WARN < ERROR < FATAL,如果设置为WARN,则低于WARN的信息都不会输出 -->
        3 <!-- scan:当此属性设置为true时,配置文档如果发生改变,将会被重新加载,默认值为true -->
        4 <!-- scanPeriod:设置监测配置文档是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。
        5                  当scan为true时,此属性生效。默认的时间间隔为1分钟。 -->
        6 <!-- debug:当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。 -->
        7 <configuration  scan="true" scanPeriod="10 seconds">
        8     <contextName>logback</contextName>
        9 
       10     <!-- name的值是变量的名称,value的值时变量定义的值。通过定义的值会被插入到logger上下文中。定义后,可以使“${}”来使用变量。 -->
       11     <property name="log.path" value="G:/logs/pmp" />
       12 
       13     <!--0. 日志格式和颜色渲染 -->
       14     <!-- 彩色日志依赖的渲染类 -->
       15     <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
       16     <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
       17     <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
       18     <!-- 彩色日志格式 -->
       19     <property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
       20 
       21     <!--1. 输出到控制台-->
       22     <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
       23         <!--此日志appender是为开发使用,只配置最底级别,控制台输出的日志级别是大于或等于此级别的日志信息-->
       24         <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
       25             <level>debug</level>
       26         </filter>
       27         <encoder>
       28             <Pattern>${CONSOLE_LOG_PATTERN}</Pattern>
       29             <!-- 设置字符集 -->
       30             <charset>UTF-8</charset>
       31         </encoder>
       32     </appender>
       33 
       34     <!--2. 输出到文档-->
       35     <!-- 2.1 level为 DEBUG 日志,时间滚动输出  -->
       36     <appender name="DEBUG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
       37         <!-- 正在记录的日志文档的路径及文档名 -->
       38         <file>${log.path}/web_debug.log</file>
       39         <!--日志文档输出格式-->
       40         <encoder>
       41             <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
       42             <charset>UTF-8</charset> <!-- 设置字符集 -->
       43         </encoder>
       44         <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
       45         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
       46             <!-- 日志归档 -->
       47             <fileNamePattern>${log.path}/web-debug-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
       48             <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
       49                 <maxFileSize>100MB</maxFileSize>
       50             </timeBasedFileNamingAndTriggeringPolicy>
       51             <!--日志文档保留天数-->
       52             <maxHistory>15</maxHistory>
       53         </rollingPolicy>
       54         <!-- 此日志文档只记录debug级别的 -->
       55         <filter class="ch.qos.logback.classic.filter.LevelFilter">
       56             <level>debug</level>
       57             <onMatch>ACCEPT</onMatch>
       58             <onMismatch>DENY</onMismatch>
       59         </filter>
       60     </appender>
       61 
       62     <!-- 2.2 level为 INFO 日志,时间滚动输出  -->
       63     <appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
       64         <!-- 正在记录的日志文档的路径及文档名 -->
       65         <file>${log.path}/web_info.log</file>
       66         <!--日志文档输出格式-->
       67         <encoder>
       68             <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
       69             <charset>UTF-8</charset>
       70         </encoder>
       71         <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
       72         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
       73             <!-- 每天日志归档路径以及格式 -->
       74             <fileNamePattern>${log.path}/web-info-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
       75             <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
       76                 <maxFileSize>100MB</maxFileSize>
       77             </timeBasedFileNamingAndTriggeringPolicy>
       78             <!--日志文档保留天数-->
       79             <maxHistory>15</maxHistory>
       80         </rollingPolicy>
       81         <!-- 此日志文档只记录info级别的 -->
       82         <filter class="ch.qos.logback.classic.filter.LevelFilter">
       83             <level>info</level>
       84             <onMatch>ACCEPT</onMatch>
       85             <onMismatch>DENY</onMismatch>
       86         </filter>
       87     </appender>
       88 
       89     <!-- 2.3 level为 WARN 日志,时间滚动输出  -->
       90     <appender name="WARN_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
       91         <!-- 正在记录的日志文档的路径及文档名 -->
       92         <file>${log.path}/web_warn.log</file>
       93         <!--日志文档输出格式-->
       94         <encoder>
       95             <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
       96             <charset>UTF-8</charset> <!-- 此处设置字符集 -->
       97         </encoder>
       98         <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
       99         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
      100             <fileNamePattern>${log.path}/web-warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
      101             <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
      102                 <maxFileSize>100MB</maxFileSize>
      103             </timeBasedFileNamingAndTriggeringPolicy>
      104             <!--日志文档保留天数-->
      105             <maxHistory>15</maxHistory>
      106         </rollingPolicy>
      107         <!-- 此日志文档只记录warn级别的 -->
      108         <filter class="ch.qos.logback.classic.filter.LevelFilter">
      109             <level>warn</level>
      110             <onMatch>ACCEPT</onMatch>
      111             <onMismatch>DENY</onMismatch>
      112         </filter>
      113     </appender>
      114 
      115     <!-- 2.4 level为 ERROR 日志,时间滚动输出  -->
      116     <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
      117         <!-- 正在记录的日志文档的路径及文档名 -->
      118         <file>${log.path}/web_error.log</file>
      119         <!--日志文档输出格式-->
      120         <encoder>
      121             <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
      122             <charset>UTF-8</charset> <!-- 此处设置字符集 -->
      123         </encoder>
      124         <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
      125         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
      126             <fileNamePattern>${log.path}/web-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
      127             <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
      128                 <maxFileSize>100MB</maxFileSize>
      129             </timeBasedFileNamingAndTriggeringPolicy>
      130             <!--日志文档保留天数-->
      131             <maxHistory>15</maxHistory>
      132         </rollingPolicy>
      133         <!-- 此日志文档只记录ERROR级别的 -->
      134         <filter class="ch.qos.logback.classic.filter.LevelFilter">
      135             <level>ERROR</level>
      136             <onMatch>ACCEPT</onMatch>
      137             <onMismatch>DENY</onMismatch>
      138         </filter>
      139     </appender>
      140 
      141     <!--
      142         <logger>用来设置某一个包或者具体的某一个类的日志打印级别、
      143         以及指定<appender>。<logger>仅有一个name属性,
      144         一个可选的level和一个可选的addtivity属性。
      145         name:用来指定受此logger约束的某一个包或者具体的某一个类。
      146         level:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF,
      147               还有一个特俗值INHERITED或者同义词NULL,代表强制执行上级的级别。
      148               如果未设置此属性,那么当前logger将会继承上级的级别。
      149         addtivity:是否向上级logger传递打印信息。默认是true。
      150         <logger name="org.springframework.web" level="info"/>
      151         <logger name="org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor" level="INFO"/>
      152     -->
      153 
      154     <!--
      155         使用mybatis的时候,sql语句是debug下才会打印,而这里我们只配置了info,所以想要查看sql语句的话,有以下两种操作:
      156         第一种把<root level="info">改成<root level="DEBUG">这样就会打印sql,不过这样日志那边会出现很多其他消息
      157         第二种就是单独给dao下目录配置debug模式,代码如下,这样配置sql语句会打印,其他还是正常info级别:
      158         【logging.level.org.mybatis=debug logging.level.dao=debug】
      159      -->
      160 
      161     <!--
      162         root节点是必选节点,用来指定最基础的日志输出级别,只有一个level属性
      163         level:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF,
      164         不能设置为INHERITED或者同义词NULL。默认是DEBUG
      165         可以包含零个或多个元素,标识这个appender将会添加到这个logger。
      166     -->
      167 
      168     <!-- 4. 最终的策略 -->
      169     <!-- 4.1 开发环境:打印控制台-->
      170     <springProfile name="dev">
      171         <logger name="com.sdcm.pmp" level="debug"/>
      172     </springProfile>
      173 
      174     <root level="info">
      175         <appender-ref ref="CONSOLE" />
      176         <appender-ref ref="DEBUG_FILE" />
      177         <appender-ref ref="INFO_FILE" />
      178         <appender-ref ref="WARN_FILE" />
      179         <appender-ref ref="ERROR_FILE" />
      180     </root>
      181 
      182     <!-- 4.2 生产环境:输出到文档
      183     <springProfile name="pro">
      184         <root level="info">
      185             <appender-ref ref="CONSOLE" />
      186             <appender-ref ref="DEBUG_FILE" />
      187             <appender-ref ref="INFO_FILE" />
      188             <appender-ref ref="ERROR_FILE" />
      189             <appender-ref ref="WARN_FILE" />
      190         </root>
      191     </springProfile> -->
      192 
      193 </configuration>
  • 相关阅读:
    487-3279(电话号码)
    【模板】二分图匹配
    【模板】网络最大流
    P3879 [TJOI2010]阅读理解
    10.10 考试T1 低仿机器人
    P4025 [PA2014]Bohater
    线段树合并 从入门到入土
    CF547B Mike and Feet
    10.6洛谷月赛划水记
    P4552 [Poetize6] IncDec Sequence
  • 原文地址:https://www.cnblogs.com/ningwuyu/p/12030391.html
Copyright © 2011-2022 走看看