码迷,mamicode.com
首页 > 编程语言 > 详细

SpringBoot日记——日志框架篇

时间:2018-06-22 10:15:42      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:AC   log4j   开发   png   log4j2   机智   enter   技术分享   组件   

在项目的开发中,日志是必不可少的一个记录事件的组件,所以也会相应的在项目中实现和构建我们所需要的日志框架。

而市面上常见的日志框架有很多,比如:JCL、SLF4J、Jboss-logging、jUL、log4j、log4j2、logback等等,我们该如何选择呢?

通常情况下,日志是由一个抽象层+实现层的组合来搭建的。

日志-抽象层 日志-实现层
JCL、SLF4J、jboss-logging jul、log4j、log4j2、logback

  而SpringBoot机智的选择了SLF4J+Logback的组合,这个组合是当下比较合适的一组(log4j2其实很厉害,但是太厉害导致我驾驭不了~)

 

SLF4J使用

  当我们在使用SpringBoot时,同样可能还会调用其他的框架,比如:Spring+Mybatis等等,这些框架中都有自己底层的日志框架在使用,所以,我们需要在引用的同时,将他们的日志框架排除掉即可,如下:

技术分享图片

(截取模糊,凑合看先~)

 

1.  按照默认的配置,我们来写个测试类看一下:

技术分享图片

  可以看到,日志只输出了info、warn、error。也就是说SpringBoot默认是设置info级别。

 

  那么,按照我们的需要,要如何修改这个日志输出级别呢?如下,按照你需要的可以配置,输出在控制台的日志的输出级别,一般情况下只需要默认即可。

logging.level.com.atguigu=trace

 

2.配置日志生成的路径及日志名称

在项目的运行中,我们不可能一直看着控制台,而且日质量会很大,转瞬即逝的~

技术分享图片

 

那么,我们需要指定我们需要的日志名称以及日志生成的路径,用到两个配置,都是在application.properties/yml中写,如下:(都不设置的话,不生成日志)

# 按照默认的名称spring.log,生成到指定路径及日志。
logging.path=output/logs # 不指定的情况下默认生成在项目根目录,按照配置生成所需的日志名称
logging.file=D:/ooodin.log

 

3.日志的格式配置

首先来看默认输出的格式:

技术分享图片

# %d-时间格式、%thread-线程、%-5level-从左5字符宽度、%logger{50}-日志50个字符、%msg-信息、%n-换行
# 修改在控制台输出的日志格式
logging.pattern.console=%d{yyyy-MM-dd} [%thread] %-5level %logger{50} -%msg%n
# 修改输出到文件的日志格式
logging.pattern.file=%d{yyyy/MM/dd} === [%thread] == %-5level == %logger{50} == %msg%n

 输出:

技术分享图片

 

4.配置自定义log信息

  如果想用自己的log配置,不用系统默认的,那么只需要按照官方要求,将该配置文件放在所需类的目录下即可,也可以在resource中配置全局的。

技术分享图片

 

  然而官方推荐我们在这些命名中,使用带有spring的扩展名,它会被SpringBoot框架识别(不写的单会被日志框架识别),并且可以使用其相应的功能,比如根据环境来使用某段配置:

  这是官方的图~

技术分享图片

 

更多日志的配置及应用,后边我们再议~

 

SpringBoot日记——日志框架篇

标签:AC   log4j   开发   png   log4j2   机智   enter   技术分享   组件   

原文地址:https://www.cnblogs.com/iceb/p/9209796.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!