Log4j异步存储日志
来源:互联网 发布:汉朝兴盛的转折点 知乎 编辑:程序博客网 时间:2024/05/21 18:37
在网上看了几篇文章,对Log4j异步存储机制有一定了解。AsyncAppender——它是自己收集所有的events到一个buffer中,再用一个单独的线程来服务(dispatch)收集过来的events到具体的appender来真正记录日志。(需要注意的是这个类只能通过xml的方法来配置使用)
浏览一下这个类的代码可以看出。它默认用一个大小为128的arraylist来作为event收集的buffer。别起了一个daemon thread来做diaptch event.而这个类里需求注意线程同步问题的地方有buffer,append方法。
对于采用同步和异步要看使用的环境。总体来说分两个角度看。一、异步传输时线程同步产生的开销相对于多线程提升的性能是否值得。二、在缓存的设计上,当buffer写满时需要调用appender来真正记录时会产生阻塞,如果buffer过小则会产生大量阻塞,反而降低效率。
所以对于不间断的产生大量日志的系统来说,同步记录方式为好。只有对于大量并发线程产生随机日志并且需要多个appender来处理event的系统来说,才需要采用异步方式,并且要将buffer设置成较大为好。
- Log4j异步存储日志
- log4j日志存储到数据库
- log4j日志存储到数据库
- log4j实现日志集中存储
- log4j--分路径存储日志
- log4j实现日志集中存储
- log4j--分路径存储日志
- log4j日志存储到数据库
- log4j日志存储到数据库
- log4j异步文件日志输出配置
- log4j日志异步化大幅提升系统
- log4j日志输出性能优化-缓存、异步
- log4j日志输出性能优化-缓存、异步
- log4xx/log4j异步日志配置示例
- log4j日志输出性能优化-缓存、异步
- log4j日志输出性能优化-缓存、异步
- log4j日志输出性能优化-缓存、异步
- log4j日志输出性能优化-缓存、异步
- fninit fstsw指令
- The factory pattern
- 列式数据库存储
- Bug调试过程
- Linux平台代码覆盖率测试工具GCOV相关文件分析
- Log4j异步存储日志
- ZOJ - 3324 Machine
- 列存数据库学习心得
- 读head.S
- 晕计算中的一点云
- 腾讯iphone面试题(转)
- TCP协议三次握手过程分析
- MySql学习心得
- 如何基于nand flash启动Linux内核(分享一段实用、简单、类似bootloader功能的代码)