8springboot的日志处理

springboot日志处理

常见日志框架:UCL JUL jboss-logging logback log4j log4j2 slf4j...

springboot默认选用slf4j,logback ,可以自己看看当前springboot的依赖中使用了哪些日志框架,如下图:

image-20200827124824730

springboot默认帮我们配置好了日志,我们直接使用即可。

image-20200827153753067

日志级别:

TRANCE < DRBUG < INFO < WARN < ERROR <FATAL < OFF

springboot默认的日志级别是info,所以上图的控制台只输出info及以下的级别的信息。当然也可以自定义日志级别,在全局配置文件中配置,如下:

logging.level.主配置类所在包=日志级别

上面的日志信息都是打印在控制台的,也可以把日志信息保存在文件中,只需要在全局配置文件中声明即可,如下:

logging.file.name=路径/文件名.log

也可以保存到一个文件夹中,不用指定文件名,默认的日志文件名:spring.log

logging.file.path=路径/

日志显示格式也可以自定义,通过全局配置文件进行配置,如下:

  1. 日志显示在console
    logging.pattern.console=%d{yyyy-MM-dd} [%thread] %-5level %logger{50} - %msg%n
    %d: 日期时间
    %thread:线程名
    %-5level: 显示日志级别,-5表示从左显示5个字符宽度
    %logger{50} : 设置日志长度 ,超过50个字符,则单词自动采用首字母,例如o.s.w.s.m.m.a.

    ​ %msg:日志消息

    ​ %n:回车

  2. 日志显示在文件中
    logging.pattern.file=%d{yyyy-MM-dd} ** [%thread] ** %-5level ** %logger{50}** %msg%n

注意: 上面加 **号是为了区分是否生效了,其实是和上面在console的格式是一样的,只是前面的参数不一致。一个是logging.pattern.console, 一个是``logging.pattern.file` .

接下来看看默认的日志显示格式是如何配置的,随便找一个springboot自带的日志框架进行查看,如下图:

image-20200827182956228

所以默认的日志格式,是在 jar包中 相应包的xml文件中进行配置。

如果想了解其他日志框架的具体使用规范,可以去官方看说明:https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-logging 官网有很详细的说明,如下图:

image-20200827183619185

The end.

原文地址:https://www.cnblogs.com/unlasting/p/13573119.html