1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > springboot 指定 logback_Spring Boot日志框架实战解析

springboot 指定 logback_Spring Boot日志框架实战解析

时间:2020-03-29 08:47:52

相关推荐

springboot 指定 logback_Spring Boot日志框架实战解析

点击箭头处

“蓝色字”

,关注我哦!!

日志框架介绍

市面上的日志框架比较多,有JCL、JUL、jboos-logging、logback、log4j、log4j2、slf4j等。我们在spring boot项目中应该使用哪种框架呢?

事实上日志框架应该分为两个方面来看,一个是日志门面,一个是日志实现,门面就好比是一种规范,实现就是根据门面的规范实现的代码,所以我们应该选用一种门面和一种实现应用于我们的项目。

SLF4J日志框架

Spring Boot选用的是slf4j和logback作为日志框架,slf4j的运用在其官网有相应的介绍和使用方法,通过slf4j门面,可以使用几乎所有的日志实现,下图是slf4j关于如何使用其日志实现的方法。

图1

需要主义的是,我们在开发的时候不应该直接调用日志的实现类,而是调用抽象层的方法,也就是说我们采用slf4j+logback的框架那么我们应该调用slf4j的方法。

就像图片中所看到的那样,如果我们要使用logback框架,先调用slf4j的api,slf4j的api再去找相应的logback实现;如果要使用log4j,由于一开始log4j也没有想到要支持slf4j,所以应该有一层中间的转换层,也就是先调用slf4j的api,然后api去调用slf4j-log412.jar这个包的方法,然后这个包再去调用log4j的实现;要使用其他框架也是按照图中的流程来,只需要导入相应的jar包,然后像下面一段代码那样使用就可以了。

下面就如何使用slf4j写一个简单的程序:

importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;publicclassHelloWorld{publicstaticvoidmain(String[]args){Loggerlogger=LoggerFactory.getLogger(HelloWorld.class);logger.info("HelloWorld");}}

SLF4J配合其他日志框架

由于Spring Boot、Hibernate、Mybatis等框架采用的日志框架都不相同,那么我们如何统一日志记录呢?也就是如何解决统一使用slf4j进行日志记录?

slf4j官网有一张图(图2),我们可以看到,图1中是slf4j使用不同日志实现框架的方法,图2是在使用不同实现框架的时候,如何将其他框架统一到当前框架的方法。

如何将其他框架统一到当前框架呢?

三步骤

1、将系统中其他框架先排除出去;

2、用中间包来替换原有的日志框架;

3、导入slf4j其他的实现

举个例子:当我们想用slf4j+logback的日志框架来统一的时候,遵循图2的方法,如果有commons logging的框架,那就把jcl-over-slf4j.jar替换commons-logging.jar,如果用到log4j的api,那就把log4j-over-slf4j.jar替换log4j.jar,其他的类似。

图2

Spring Boot日志配置

Spring Boot有以下几种日志级别,分别是

1、trace

2、debug

3、info

4、warn

5、error

日志级别由低到高,默认日志级别是info。

SpringBoot的日志输出格式为

%d表示日期时间

%thread表示线程名

%-5level级别从左显示5个字符宽度

%logger{50}表示logger名字最长50个字符,否则按照据点分割

%msg表示日志消息

%n表示换行

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

修改日志的默认配置

修改默认级别

logging.level.xxx.xxx=trace

指定存储日志路径

logging.path=/spring/log

logging.file=G:\loging.log

指定控制台输出的日志格式

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

指定配置

如果我们需要使用自己的配置文件配置日志,那么只需要给类路径下放上每个日志框架自己的配置文件即可

logback:logback-spring.xml、logback-spring.groovy、logback.xml、logback.groovy

log4j2:log4j2-spring.xml、log4j2.xml

JDK:logging.properties

完结

图片:来自网络

文章:来自后端带师

排版:新榜编辑器

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。