springboot项目集成logf4j详细流程记录

springboot项目集成logf4j详细流程记录,第1张

日志项目中不能缺少的模块,目前项目中比较常用的是Log4j,这个日志是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输出到控制台、文件甚至是套接口服务器等等。通过配置文件可以控制每一条日志的输出格式,定义每一条日志信息的级别,更加细致地控制日志的生成过程。下面通过访问的方式来集成log4j。从maven依赖包,配置文件和项目中实际使用样例三个方面来记录。

第一步:我这里使用的是springboot,因为springboot自带log,咱们要使用log4j,先屏蔽了原来的log

第二步:加入log4j的依赖,一个接口,一个实现两个包

配置文件放置位置,项目Application所在module中的resources目录下。配置文件名称为:log4j.properties

配置内容:

其中,需要根据自己的情况配置的:

1.日志保存位置和日志文件名称

2.日志的记录内容格式

3.日志输出等级:debug还是info

我这里是springboot的rest api项目中的controller中使用的实例

​ 工作过程中一般我们都是接手的项目,可能只注意到怎么使用log4j,没有亲手设置过项目的log4j。本人也是,出于学习的目地,自己亲手试着在SpringBoot的项目中集成了一下log4j2。之于为什么要集成log4j2,本人网上也查了下,主要是:性能提升、自动重载配置

​ SpringBoot默认集成的日志系统是LogBack,logBack是随着spring-boot-starter-logging引进来的,如图:

当然SpringBoot也是支持Log4j2,只需要去掉logback的依赖,引入Log4j2即可。

如果你需要用到Log4j2的AsyncLogger的异步日志实现方式,还需要引入Disruptor

异常说明 如果你的LogBack没有排干净(即被别的系统间接的引入了LogBack的jar),系统会报错,报错信息是很奇怪的

Logging system failed to initialize using configuration from 'classpath:-----.xml'

异常信息是:

​ log4j2一般采用的是xml形式的配置,你需要在在resources目录下新建一个log4j2的配置文件,暂时名称为log4j2.xml。另外还需要在application.properties文件中显示声明才行

​ 当然如果不配置logging.config,SpringBoot默认加载的文件名是:log4j2.xml、log4j2-file.xml这两个,在源码:org.springframework.boot.logging.log4j2.Log4J2LoggingSystem.loadDefaults中:

​ 到此SpringBoot集成Log4j2的工作已经完成,可能很多同学跟我一样,也想了解一下log4j2的配置,下面来介绍一下log4j2的日志配置。

常用的:root为同步日志输出,AsyncLogger为异步日志。异步日志输出注意三点:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11852508.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存