第十一节:Springboot 整合 log4j2 日志
SpringBoot 默认使用的是
logback
, 但是还有一个性能更高的日志实现框架log4j2
.
为什么选用 log4j2
相比与其他的日志系统,log4j2 丢数据这种情况少;disruptor 技术,在多线程环境下,性能高于 logback 等 10 倍以上;利用 jdk1.5 并发的特性,减少了死锁的发生;
下面是来自网络上一张性能对比图片
同步日志模式下, Logback 的性能是最糟糕的,log4j2 的性能无论在同步日志模式还是异步日志模式下都是最佳的
log4j2
性能高的主要原因是它用了一个LMAX
无锁的线程间通信库.
pom.xml 中引入log4j2
log4j2
的配置文件
默认名 log4j2-spring.xml. 如果是其它的名字需要在配置文件中指定
logging.config=xxx.xml
配置文件模版
configuration
status 用来指定 log4j 本身的打印日志的级别.
monitorInterval 通过 monitorInterval 这个配置参数可以动态监测配置文件是否修改了,如果修改了,按照最新的配置文件,比如可以动态修改 logger 的优先级
Properties
变量定义
property 定义一个变量,如下格式
appenders
console 定义输出到控制台的 Appender
File 用来定义输出到指定位置文件的 Appender
RollingFile 定义超过指定条件日志的删除和新建策略
loggers
logger 用来单独指定日志格式
Root 用来指定项目的根日志,如果没有单独指定 Logger,那么就会默认使用该 Root 日志输出.
本小结源码地址:
GitHub:https://github.com/mifunc/springboot/tree/main/lession11
Gitee:https://gitee.com/rumenz/springboot/tree/master/lession11
https://rumenz.com/rumenbiji/springboot-log4j2.html
介绍
我的博客 https://rumenz.com/ ,
我的工具箱 https://tooltt.com/
微信公众号:【入门小站】
关注【入门小站】回复【1001】获取 linux 常用命令速查手册
关注【入门小站】回复【1003】获取 LeetCode 题解【java 语言实现】
关注【入门小站】回复【1004】获取 Java 基础核心总结
关注【入门小站】回复【1009】获取 阿里巴巴 Java 开发手册
版权声明: 本文为 InfoQ 作者【入门小站】的原创文章。
原文链接:【http://xie.infoq.cn/article/8d9af3c578a2ac4edf6bfabad】。文章转载请联系作者。
评论