随记20211231 log4j

随记20211231 log4j,第1张

随记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是日志实现

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

原文地址: http://outofmemory.cn/zaji/5697479.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存