spring Boot logback的使用与配置

目录

什么是日志

什么是日志框架

日志框架的能力

常见日志框架

logback的使用与配置

日志输出到文件配置

扩展


什么是日志

  • 能够描述系统运行行状态的所有时间都可以算作日志  --> 用户下线  接口超时  数据库崩溃  

什么是日志框架

  • 是一套实现日志输出的工具包

日志框架的能力

  • 定制输出目标
  • 定制输出格式
  • 日志框架的选择
  • 携带上下文信息 (类路径、时间戳、线程、调用对象等等)
  • 运行选择性输出
  • 灵活的配置
  • 优异的性能

常见日志框架

JCL、jboos-logging、Log4j、Log4j2、SLF4j、JUL、Logback

logback的使用与配置

项目结构

spring Boot logback的使用与配置_第1张图片

pom.xml


        
            org.springframework.boot
            spring-boot-starter-web
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
        
        
            org.projectlombok
            lombok
        
    

测试类  @slf4j 注解的使用

package cn.bufanli.shell;

import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

@RunWith(SpringRunner.class)
@SpringBootTest(classes = {ShellApplication.class}) //启动类
@Slf4j
public class ShellApplicationTests {

	@Test
	public void contextLoads() {
		String name = "bufanli";
		String pass = "123456";
		log.debug("debug.....");
		//日志中使用变量
		//占位符使用
		log.info("info...{} ---{}",name,pass);
		//拼接
		log.error("eroor..."+name+"---"+pass);
	}

}

控制台输出

日志输出到文件配置

日志输出格式:
		%d表示日期时间,
		%thread表示线程名,
		%-5level:级别从左显示5个字符宽度
		%logger{50} 表示logger名字最长50个字符,否则按照句点分割。 
		%msg:日志消息,
		%n是换行符
    -->
    %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n

两种方式

application.properties 简单文件配置

logging.level.com.atguigu=trace


#logging.path=
# 不指定路径在当前项目下生成springboot.log日志
# 可以指定完整的路径;
#logging.file=G:/springboot.log

# 在当前磁盘的根路径下创建spring文件夹和里面的log文件夹;使用 spring.log 作为默认文件
logging.path=/spring/log

#  在控制台输出的日志的格式
logging.pattern.console=%d{yyyy-MM-dd} [%thread] %-5level %logger{50} - %msg%n
# 指定文件中日志输出的格式
logging.pattern.file=%d{yyyy-MM-dd} === [%thread] === %-5level === %logger{50} ==== %msg%n

logback-spring.xml xml复杂文件配置  区分info和error日志,每天产生一个日志文件,便于我们定位问题查找日志,不需要yml配置,文件名称固定放在resources根目录下

logback-spring.xml



    
    
        
            
            %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
        
    
    
    
        
        
            
            ERROR
            DENY
            ACCEPT
        
        
            %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
        
        
        
            
            ./logs/info/%d{yyyy-MM-dd}.log
        
    
    
    
        
        
            ERROR
        
        
            %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
        
        
        
            
            ./logs/error/%d{yyyy-MM-dd}.log
        
    
    
    
        
        
        
    

执行test

spring Boot logback的使用与配置_第2张图片

error目录下日志文件

spring Boot logback的使用与配置_第3张图片

info目录下

spring Boot logback的使用与配置_第4张图片

扩展

使用LogBack日志可以把日志配置文件名成命名如下,不同的名称功能不同

spring Boot logback的使用与配置_第5张图片

你可能感兴趣的:(spring,Boot)