一文带你了解logback的一些常用配置 您所在的位置:网站首页 springprofile标签 一文带你了解logback的一些常用配置

一文带你了解logback的一些常用配置

2023-09-02 19:25| 来源: 网络整理| 查看: 265

文章目录 springProfile标签中定义多个环境ThresholdFilter 日志过滤控制台输出日志引入默认配置springboot项目配置输出sql

springProfile标签中定义多个环境

我们可以通过springProfile为不同的环境配置不同的日志输出规则,比如生产环境不开启console,级别为info等 下面来看看示例,

logback-spring.xml文件,

然后我们运行应用时,根据指定的spring.profile.active进行选择对应的日志配置,如何来指定运行时激活的profile呢,有很多方式,比如我们可以直接在yml文件中指定,

application.yml文件,

spring: profiles: active: prod

在程序启动时,可以看到当前激活的profile,

The following profiles are active: prod

还有其它方式,不是本文的重点,就不多说了。

另外, springProfile的name可以包含多个名字,比如

ThresholdFilter 日志过滤

首先要说下日志级别的定义,

ALL 各级包括自定义级别DEBUG 指定细粒度信息事件是最有用的应用程序调试ERROR 错误事件可能仍然允许应用程序继续运行FATAL 指定非常严重的错误事件,这可能导致应用程序中止INFO 指定能够突出在粗粒度级别的应用程序运行情况的信息的消息OFF 这是最高等级,为了关闭日志记录TRACE 指定细粒度比DEBUG更低的信息事件WARN 指定具有潜在危害的情况

它们关系如下:

ALL < DEBUG < INFO < WARN < ERROR < FATAL < OFF。

ThresholdFilter: 临界值过滤器,过滤掉低于指定临界值的日志。比如,

WARN

会过滤掉低于WARN的日志。

我们可以通过这种方式对日志进行分类,比如输出正常日志和错误日志,就可以用类型下面这样的配置,

/app/applogs/test-system.log %d{yyyy-MM-dd HH:mm:ss.SSS} %sep[%thread] %sep%p %sep%c %sep[TxId : %X{PtxId} , SpanId : %X{PspanId}] %sep%msgToo%exToo%n DEBUG /app/applogs/test-system.%d{yyyy-MM-dd}.log /app/applogs/test-system-error.log %d{yyyy-MM-dd HH:mm:ss.SSS} %sep[%thread] %sep%p %sep%c.%M \(%F:%L\) %sep[TxId : %X{PtxId} , SpanId : %X{PspanId}] %sep%msgToo%exToo%n WARN /app/applogs/test-system-error.%d{yyyy-MM-dd}.log 控制台输出日志

这个比较简单,

%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] [%-5level] [%logger:%L] %msg%n

除了常用的encoder属性,还可以设置target属性,默认是System.out。

引入默认配置

一般springboot项目,我们会在logback.xml中看到这样的配置,

这是springboot默认提供的日志配置,我们可以在springboot jar包下看到它的源码,

可以看到引入了defaults.xml,console-appender.xml和file-appdender.xml,有兴趣可以通过源码继续了解。这里就不详细说了。

springboot项目配置输出sql

springboot项目已经不需要像以前的SSM一样,类似下面这样配置sql了,

我们只需要把 root level设置成debug就可以看到mybatis的日志了。但是这样配置日志又太多了,也不好追踪问题。所以我们一般只需要配置dao所在的包就可以了,

root的level还是info,这样既能看到sql,也不会有其它太多日志干扰。

在这里插入图片描述 欢迎大家关注我的公众号



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有