SpringBoot学习篇2[日志配置]

一 SpringBoot默认日志配置

SpringBoot为Java Util Logging,Log4J2和Logback提供了默认配置。SpringBoot默认配置日志输出到控制台,同时还提供可选文件输出。
SpringBoot默认采用SLF4j(日志抽象层)+ Logback(日志实现)的组合。

1.1 日志输出实战

  1. 新创建SpringBoot工程,起名为spring-boot-logging
    在这里插入图片描述
    先直接运行程序,看控制台的输出
    在这里插入图片描述
    可以看到,在不做任何配置的情况下,控制台已经有日志输出了。这也印证了我们前面所说的。

接下来在测试类中使用一下SpringBoot的日志:

package com.yky.springboot;

import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
class SpringBootLoggingApplicationTests {
   

    private Logger logger = LoggerFactory.getLogger(getClass());
    @Test
    void contextLoads() {
   
        logger.info("这是info级别的日志");
    }

}

注:这里使用的Logger的全类名是org.slf4j.Logger

输出结果
在这里插入图片描述

1.2 控制台输出

通过上面的验证,可以得出结论:
SpringBoot的日志记录器,默认情况下在控制台输出以下项目:

  • 日期和时间:毫秒精度,易于排序。
  • 日志级别:ERROR,WARN,INFO,DEBUG,或TRACE。
  • 进程ID。
  • 一个—分隔符来区分实际日志消息的开始。
  • 线程名称:用方括号括起来(对于控制台输出可能会被截断)。
  • 记录器名称:这通常是源类名称(通常缩写)。
  • 日志消息。

1.3 文件输出

SpringBoot默认情况下只在控制台输出日志。要想让它输出日志到文件,需要更改其默认配置,此时需要设置logging.file.name或logging.file.path的属性值。

logging.file.name logging.file.path 示例 描述
null null 只在控制台输出
给定值 null my.log 写入指定的日志文件。名称可以是确切位置,也可以是相对于当前目录的位置。
null 给定值 /var/log 写入日志到指定目录,名称可以是确切位置,也可以是相对于当前目录的位置,文件名为springboot.log
给定值 给定值 同时赋值,优先采用logging.file.name
  • SpringBoot默认配置单个日志文件大小限定为10M,当单个文件达到所设定的最大大小时,将会产生一个备份文件,并创建一个新的日志文件重新记录当前日志。可以通过更改logging.file.max-size属性更改大小限制。

注意:

  • 与控制台输出一样,默认情况下会记录ERROR-level,WARN-level和INFO-level的日志消息。

  • 除非logging.file.max-history已设置属性,否则将会无限期存档。

  • 日志档案的总大小可以通过设置logging.file.total-size-cap的值来限定。当日志归档的总大小超过该阈值时,将删除备份。要在应用程序启动时强制清除日志存档,请使用logging.file.clean-history-on-start属性。

上面全是在讲理论,接下来实践一下,在resources目录新创建application.yml文件并写入以下内容:

logging:
  file:
    name: /Users/yky/springboot/log/my.log

运行测试程序看一下:
在这里插入图片描述

二 常用日志配置的修改

2.1 输出级别

日志记录器包含以下级别(级别由低到高):

级别 示例 说明
trace logger.trace(“消息内容”) 跟踪运行信息
debug logger.debug(“消息内容”) 调试信息
info logger.info(“消息内容”) 自定义信息
warn logger.warn(“消息内容”) 警告信息
error logger.error(“消息内容”) 错误信息

验证一下:

		logger.trace("这是trace级别的日志");
        logger.debug
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值