springboot 集成logback 日志

上期文章:springboot 集成Kaptcha验证码

本文内容:springboot 对logback 日志集成的代码实现及部分代码详细讲解。

1

代码实现







    spring-boot-logging
    
    
    
        
		
		
		
        
            INFO
            ACCEPT
            DENY
        
        
			
			
			
			
			
			
			
			
            %d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n
        
    

    
	
    
		
		
		
		
		
		true 
		
         
			
            ${log.path}/springboot-logging.%d{yyyy-MM-dd}.log
            
            7
            
            30MB
        
        
            %d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n
        
    
	
    
        
    

	
	
	
	
	
    
    	
	
    
    







2

代码讲解

根节点


  • scan:当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true。

  • scanPeriod:设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。

filter 过滤器


filter是一个过滤器,表示对输出到控制台的日记进行过滤。有两种过滤器,分别为LevelFilter 和ThresholdFilter。
1、LevelFilter为级别过滤器,根据日志级别进行过滤。其下有三个子节点,level表示过滤的级别,用于配置符合过滤条件的操作,ACCEPT符合级别的输出到控制台,用于配置不符合过滤条件的操作,DENY不符合的拒绝输出到控制台。
2、ThresholdFilter为临界值过滤器,过滤掉低于指定临界值的日志。当日志级别等于或高于临界值时,过滤器返回NEUTRAL;当日志级别低于临界值时,日志会被拒绝。

日志格式化

  %d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n
  • %d{HH:mm:ss.SSS} :日志的输出时间

  • %contextName :上下文名称

  • %thread : 输出日志的进程名字,这在Web应用以及异步任务处理中很有用

  • %-5level : 日志级别,并且使用5个字符靠左对齐

  • %logger{36} : 日志输出者的名字(一般为类名),名字最长36个字符,否则按照句点分割

  • %msg :具体的日志消息

  • %n :换行符

节点

${log.path}/spring-boot-logging.log

:被写入的文件名,可以是相对目录,也可以是绝对目录,如果上级目录不存在会自动创建,没有默认值。
1、file子节点可有可无,通过设置file,可以为活动文件和归档文件指定不同位置,当前日志总是记录到file指定的文件(活动文件)。
2、活动文件的名字不会改变;如果没设置file,活动文件的名字会根据fileNamePattern 的值,每隔一段时间改变一次。“/”或者“\”会被当做目录分隔符。

子节点logger


用来设置某一个包或者具体的某一个类的日志打印级别、以及指定

  • name:用来指定受此logger约束的某一个包或者具体的某一个类。

  • level:用来设置打印级别,大小写无关(最常用的几种):DEBUG, INFO, WARN, ERROR.如果未设置此属性,那么当前loger将会继承上级的级别。

  • addtivity:是否向上级loger传递打印信息。默认是true 。

3

测试

在地址栏输入http://localhost:8080/hospital/login ,登陆成功后查看src/main/resources/log/springboot-logging.2019-10-09.log 文件,得到以下信息:d

springboot 集成logback 日志_第1张图片

至此,本文结束。欢迎各位关注我的公众号:暗星涌动。

往期文章:

1、Springboot 整合 Shiro

2、Shiro 实现 RememberMe 功能

3、springboot 集成Kaptcha验证码

你可能感兴趣的:(SpringBoot)