logback配置详解

目录

基本结构 

configuration:日志系统配置

contextName:日志上下文名称

property:变量

appender:日志组件

logger:一般记录器

root:根记录器


基本结构 


    
    
    
    

configuration:日志系统配置

包含三个可配属性:

  • scan:当配置文件发送变化时,是否重新加载日志配置,默认为true。
  • scanPeriod:当scan为true时,监听配置文件的时间间隔,默认单位ms,也可以使用不同时间单位,如 "60 seconds","1 minutes","1 hours"。默认值为"60 seconds"。
  • debug:是否打印logback内部日志,默认false。
 

contextName:日志上下文名称

用于区分不用程序的日志记录,默认为default,修改必须重启应用程序,日志中

 
    AppName 
    
        
            %d - %contextName - %msg%n
            
        
    

日志输出: 

2019-02-25 16:32:42,425 - AppName - Starting service [Tomcat]

property:变量

便于日志配置,通过配置两个name和value两个属性来设置,可以使用“${}”来使用。

 
    
    ${APP_NAME} 

appender:日志组件

日志处理的具体规则,包括两个必填属性和子节点。

两个属性:

  • name:组件名称
  • class:日志处理组件类

子节点:

  • encoder:日志输出格式,​​​​​​

%d:表示日期,%d{HH:mm:ss.SSS}表示设置输出日期格式。

%t:表示线程名。

%level:表示日志级别,%-4level表示只显示日志级别前4个字符。

%logger:表示日志输出类,%logger{10}表示当输出类全名大于10个字符时,每一级包名只显示第一个字符。

%msg:表示日志内容。

%n:是换行符。


     %d{HH:mm:ss.SSS} - [%t] - %-4level - %logger{10} - %msg%n 
10:59:27.303 - [main] - INFO - o.a.c.c.StandardService - Starting service [Tomcat]
  • filter:日志过滤器

  • LevelFilter:级别过滤器,包含三个子节点,和三个处理方式 (DENY,NRUTRAL,ACCEPT)。

:过滤级别。

:符合条件处理方式。

:不符合条件处理方式。

DENY:跳出过滤器,不执行后续处理,类似循环中的black。

NRUTRAL:继续下一个过滤器。

ACCEPT:跳出过滤器,不做本过滤器处理,类似循环中的continue。

   
    INFO   
    ACCEPT   
    DENY   
 
  • ThresholdFilter:临界值过滤器,过滤低级别日志,处理高级别日志。

   
    INFO   
   
  • EvaluatorFilter: 求值过滤器,评估、鉴别日志是否符合指定条件,不常用,不细说。

         
       
        return message.contains("billing");   
         
      ACCEPT   
      DENY  
  

 

logger:一般记录器

用于设置某个包或者某个类的日志打印,并可以使用指定的,标签包括下面三个属性:

  • name:logger的监控范围,即某个包名或类名。
  • level:打印日志的级别,参数包括TRACE, DEBUG, INFO, WARN, ERROR, ALL or OFF,默认为DEBUG。
  • addtivity:是否交由上级logger处理日志信息,默认true。

        
        

root:根记录器

参数只有一个level属性,没有单独处理的日志都会使用次配置。


        
        

 

你可能感兴趣的:(Spring,SpringCloud)