Springboot-logging学习总结(未完结)

Springboot-logging总结

1、简介

日志帮助我们调试程序而自动打印信息,跟踪数据,并对问题进行打印以及排查,springboot也为我们整合了日志系统,供我们进行配置使用。

我们一般使用system.out.println();进行信息的打印输出,帮助我们查找问题。但是在性能方面,以及效率方面都不高,因此在spring-boot-starter中帮我们自动导入了spring-boot-starter-logging日志包。

在这里插入图片描述

2、初始化日志

1、导包,spring-boot-starter-logging

<dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-logging</artifactId>
      <version>2.5.1</version>
    </dependency>

2、在类中新建Logger类

XXX为该类的类名

 private static final Logger log = LoggerFactory.getLogger(XXX.class);

3、通过log对象调用不同日志级别的方法

日志优先级 : trace > debug > info > warn > error 默认为info
slf4j为日志接口,实现类为 log4j 和 logback 默认为logback

@RequestMapping("/log")
    public String getInfo(){
        log.trace("=========trace============");
        log.debug("=========debug============");
        log.info("=========info============");
        log.warn("=========warn============");
        log.error("=========error============");
        return "log success";
    }

**4、测试:localhost:8080/log **
在这里插入图片描述
5、查看控制台打印日志信息
在这里插入图片描述
证明:默认springboot2.x 版本的logback日志级别为Info,将小于该日志级别的日志信息也都会一同打印出来

3、日志优先级的修改

yml文件中直接写配置
1、全局日志级别修改

#设置为debug级别
logging:
  level:
    root: debug

2、局部日志级别修改

#给com.llj包下的所有类的日志等级设置为trace
logging:
  level:
    com:
      llj: trace

4、Lombok方式配置日志

Lombok定义了几种日志注解:@Log4j @Log4j2 @Slf4j @Log等,但我们只用一个就够了。

1、直接给相应的类添加注解 :@Log4j2

2、设置日志文件地址及日志格式:

logging:
  level:
    root: info
  file:
    #默认path将日志放在logging.file.path的目录下,日志名是:spring.log
    path: output/logs
    # 如果不想把日志存放在logging.file.path目录下,可以用name定义存储的路径和日志文件的名称
    #name: d:/output/logs/console.log
  #日志输入格式:  
  pattern:
    console: "%d{yyyy/MM/dd-HH:mm:ss} [%thread] %-5level %logger{50}- %msg%n"
    file: "%d{yyyy/MM/dd-HH:mm:ss} ---- [%thread] %-5level %logger{50}- %msg%n"

日志格式配置详情(日后再研究)

%c 输出logger名称
%C 输出类名
%d{HH:mm:ss.SSS} 表示输出到毫秒的时间
%t 输出当前线程名称
%-5level 输出日志级别,-5表示左对齐并且固定输出5个字符,如果不足在右边补0
%logger 输出logger名称,因为Root Logger没有名称,所以没有输出
%msg 日志文本
%n 换行
其他常用的占位符有:
%F 输出所在的类文件名,如Log4j2Test.java
%L 输出行号
%M或%method 输出所在方法名
%l 输出完整的错误位置, 包括类名、方法名、文件名、行数
%p 该条日志的优先级
%replace{pattern}{regex}{substitution} 将pattern的输出结果pattern按照正则表达式regex替换成substitution

3、设置可以自定义注入属性的日志

log.info("我的名字是{},我的年龄是{}", user.name, user.age);

未完,待续…

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值