1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 05.日志框架与Spring Boot日志全篇

05.日志框架与Spring Boot日志全篇

时间:2023-11-02 06:32:51

相关推荐

05.日志框架与Spring Boot日志全篇

日志框架

市场上存在非常多的日志框架。

JUL(java.util.logging),JCL(Apache Commons Logging)、Log4j、Log4j2、Logback、SLF4j、jboss-loging等。

Spring Boot在框架内部使用JCL、spring-boot-starter-logging采用了slf4j+logback的形式,Spring Boot也能自动适配(jul、log4j2、logback)并简化配置。

日志门面:日志的抽象层日志实现:日志的实现层

Spring Boot底层是Spring,使用的日志框架是JCL

此处,Spring Boot选用SLF4j+Logback

SLF4j的使用

1.如何在系统中使用SLF4J日志框架(抽象层)

在开发的时候,日志记录方法的调用,应该先调用抽象层里面的方法,然后由抽象方法调用日志的实现类;给项目里面导入SLF4j的jar和logback的jar包

每一个日志框架够用自己的配置的文件,使用SLF4j之后,配置文件还是做成日志实现框架本身的配置文件。

2.遗留问题

(SLF4j+logback):spring(JCL)、hibernate(jboss-logging)、mybatis…

1.统一日志框架,即使使用的是别的的框架也要统一成SLF+logback日志框架

如何让项目中的所有日志框架统一(见上图)

① 将项目中其他框架的日志框架先排除

② 用中间包代替原来的日志框架

③ 导入SLF4j的其他实现

3.Spring Boot的日志关系

SpringBoot底层也是使用的SLF4J+logback的实现日志记录SpringBoot在底层把其他jar包转换成了SLF4J中间替换包

4.默认的日志配置

如果要引入其他框架,首先要移除这些框架说依赖的日志jar

Spring Boot能自动适配所有的日志,而且底层使用的是SLF4J+logback的方式记录,如果要引入其他框架首先要把引入的框架的日志框架移除,换成中间件日志的使用

而SpringBoot已经默认配置好了日志框架

@RunWith(SpringRunner.class)@SpringBootTestpublic class SpringBootLogApplicationTests {/*** 日志的级别* 从低到高* trace->debug->info->warn->error* 可以调整输出日志级别:日志级别只会输出这个级别以后的级别*///记录器Logger logger=LoggerFactory.getLogger(getClass());@Testpublic void contextLoads() {logger.trace("这是trace日志....");logger.debug("这是debug日志...");//Spring Boot默认的日志级别是info--如果没有指定级别,SpringBoot会使用默认的级别infologger.info("这是info日志");logger.warn("这是warn日志");logger.error("这是error日志");}}

测试:

修改日志级别

在properties配置文件中:

.zhumengkj=trace

再测试:

日志默认配置

日志的配置主要有三个

logging.file日志文件名logging.path日志目录Example日志文件

注意:实际开发中不会使用loggingfile,会常用logging.path

logging.file

在properties配置文件中:

#指定日志界别为trace 不指定则默认为.zhumengkj=trace#当前项目下生成springboot.log日志文件logging.file=springboot.log

运行测试:

也可以指定路径

#也可以指定路径logging.file=C:/Users/zYu/Desktop/springboot.log

logging.path

#也可以指定路径#logging.file=C:/Users/zYu/Desktop/springboot.log#在当前磁盘的根路径下创建spring文件夹下创建log文件夹,使用默认spring.log文件接收日志logging.path=/spring/log

指定输出格式

日志输出的格式:

在properties配置文件中添加:

#指定在控制台的输出格式logging.pattern.console=>>>%d{yyyy-MM-dd HH:mm:ss.SSS}>>>>>[%thread]>>>>>%-5level>>>>>%logger{50}>>>>>%msg%n#指定在文件中输出的格式logging.pattern.file=%d{yyyy-MM-dd HH:mm:ss.SSS}=====[%thread]=====%-5level=====%logger{50}=====%msg%n

运行测试

查看控制台:

查看日志文件:

5.指定日志配置文件

指定配置

在类路径下新建相关日志自己的配置文件,Spring Boot在检索到此文件时就不会再使用默认的配置文件了。

logback.xml:直接被框架识别

logback-spring.xml:日志框架就不直接加载日志的配置项,由Spring Boot解析日志配置,可以使用Spring Boot的高级profile功能。

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