随记20211231 log4j

昨天我把高并发反序列化测试结果给提出问题的团队看了,我认为反序列化缺少某个类造成hessian打印日志,对性能的影响不大,但他们测试发现会有几十倍的差距,并给了个博客表明高并发log4j同步日志输出的性能瓶颈,我看了确实有道理,但我测试并发还不够大吗,都100线程20次查询,也进行1000线程10次查询,并没有出现文章所说的竞争同步锁的现象,我突然发现是不是我用的是log4j2,而不是log4j的原因。

之前log4j2因为远程代码执行漏洞,我和同事还加班把20多个服务log4j2升级到2.16.0,期间还遇到由于将系统环境变量 FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS 设置为 true禁用lookup,反而造成服务问题的事发生。

我就在好奇这log4j和log4j2的区别,什么同步日志异步日志,日志框架,遂记录一下。

  1. 日志框架
  2. 同步日志、异步日志
  3. log4j和log4j2
  4. log4j-api log4j-core log4j-jcl log4j-jul sl4j-log4j12 log4j-slf4j-impl 傻傻分不清楚
  5. log4j2远程代码执行漏洞
  6. 禁用lookup的坑(同事找到的)

疑问:

  • 为什么api和实现之间要适配层,比如slf4j-log4j12?
  • 日志记录原理?(比较深入了,日后再了解,大概知道什么bind绑定具体实现)

slf4j:Simple Logging Facade for Java,为java提供的简单日志Facade。(4j 原来就是for java的意思,学习了,以前只知道2代表to)
在这里插入图片描述
在这里插入图片描述

[日志简介]https://www.cnblogs.com/lujiango/p/8573411.html
[日志切换]https://blog.csdn.net/jybzjf/article/details/84739475

[简洁明了]https://www.jianshu.com/p/370ed25cb7c4
[条例很清晰]https://blog.csdn.net/u010647035/article/details/85037206
简述一下:

  1. commong-logging和slf4j是日志接口,log4j、log4j2、logback是日志实现
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值