SpringBoot日志配置

SpringBoot日志配置

1.Spring Boot默认日志框架

Spring Boot默认使用LogBack日志系统,如果不需要更改为其他日志系统如Log4j2等,则无需多余的配置,LogBack默认将日志打印到控制台上。如果要使用LogBack,原则上是需要添加dependency依赖的
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-logging</artifactId>
	</dependency>
但是因为新建的Spring Boot项目一般都会引用spring-boot-starter或者spring-boot-starter-web,而这两个起步依赖中都已经包含了对于spring-boot-starter-logging的依赖,所以,无需额外添加依赖。

2.常用的日志框架

日志门面日志实现
JCL、SLF4j、jboss-loggingLog4j、 JUL(java.util.logging) Log4j2、 Logback
2.1日志门面: 不是具体的日志解决方案,它只服务于各种各样的日志系统,允许最终用户在部署其应用时使用其所希望的日志实现来使用日志功能。
2.2日志实现: 是基于对应的日志门面的规范来实现的具体日志功能的框架
2.3 框架之间由于历史迭代原因及框架性能等问题,选择的日志框架也不一样,常见的框架与默认选择的日志系统关系如下:
框架日志
SpringJCL
SpringBootSfl4j–>logback
Hibernate3Slf4j
2.4而框架使用的日志不一样,SpringBoot早已考虑这个问题我们看一下它是怎么解决的

在这里插入图片描述

可以看到 他把其他的框架日志 偷梁换柱了 都使用的是 slf4j

3. 日志输出级别 以及使用

日志输出级别 TRACE > DEBUG > INFO > WARN > ERROR
3.1 Springboot简单的日志使用 (方式一)
LoggerFactory.getLogger(MyTest8.class);这里面的MyTest8.class是为了方便快速定位是哪一个类输出打印的日志
public class LoggerExec {

    private static final Logger logger = LoggerFactory.getLogger(MyTest8.class);

    public static void main(String[] args) {
        logger.trace("trace");
        logger.debug("debug");
        logger.info("info");
        logger.warn("warn");
        logger.error("error");
    }

}
3.2 Springboot简单的日志使用 (方式二)
导入依赖,并且 你的IDEA要安装了Lombok插件
		<dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
@Sif4相当于 private final Logger log= LoggerFactory.getLogger(MyTest8.class);
@Slf4j
public class MyTest9 extends ParentTest {

    @Test
    public void test1() {
        log.debug("debug");
        log.info("info");
        log.warn("warn");
        log.error("error");
    }
}

4. 日志打印级别

日志的打印级别 TRACE < DEBUG < INFO < WARN < ERROR < FATAL ,且级别是逐渐提供,如果日志级别设置为INFO,则意味TRACE和DEBUG级别的日志都看不到。
Spring Boot默认级别就是INFO,可通过 logging.level.root=warn 改变SpringBoot日志打印级别

5.日志的设置

(logging.file=文件名,logging.path=文件路径已经过时了,变成logging.file.name=文件路径/文件名)
logging:
  file:
    name: F:/springboot.log
  pattern:
     #规定输出到控制台的格式
    console: "%d{yyyy-MM-dd HH:mm:ss.SSS}  ==  %-5level  ==  [%thread]  ==  %logger{15}  ==  %msg%n"
    #规定输出到日志文件的格式
    file: "%d{yyyy-MM-dd HH:mm:ss.SSS}  ==  %-5level  ==  [%thread]  ==  %logger{15}  ==  %msg%n"
  #规定指定包的 日志级别, loggin.level.root是整个项目
  level:
    com.example: trace

- %d 日期时间 {格式}

- %-5level 左对齐5个字符 日志等级

- %thread 线程名

- %logger{15} 输出日志打印所在的类 限制15个字符

- 更多的格式化的写法参照https://docs.spring.io/spring-boot/docs/2.2.6.RELEASE/reference/html/spring-boot-features.html#boot-features-logging






一键查询淘宝/拼多多内部优惠券,每日大额外卖红包,购物省钱的宝藏工具
在这里插入图片描述

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值