论坛首页 Java企业应用论坛

能不能让log4j跑的“更快”,对业务总体执行时间影响更小?

浏览 14889 次
该帖已经被评为良好帖
作者 正文
   发表时间:2011-06-12  
顶楼主!进步就是在这些折腾中获得的!加油啊!O(∩_∩)O哈哈~
0 请登录后投票
   发表时间:2011-06-13  
agapple 写道
log4j有个AsyncAppender,异步输出的,思路上都是一样的。只不过它用的ArrayList做为buffer,同步控制用了synchronized而已。

性能提升的很多思路都是一样的,要么就是减少I/O阻塞,减少锁竞争。



正解,楼主说看了log4j源码,还搬出这样的轮子。
0 请登录后投票
   发表时间:2011-06-13  
唉,只简单用过log4j,惭愧啊
0 请登录后投票
   发表时间:2011-06-13  
楼主威武
深入研究是非常好的精神
0 请登录后投票
   发表时间:2011-06-13  
支持楼主的探索精神,回头我也试试异步log。
0 请登录后投票
   发表时间:2011-06-13  
曾经de迷茫 写道
agapple 写道
log4j有个AsyncAppender,异步输出的,思路上都是一样的。只不过它用的ArrayList做为buffer,同步控制用了synchronized而已。

性能提升的很多思路都是一样的,要么就是减少I/O阻塞,减少锁竞争。



正解,楼主说看了log4j源码,还搬出这样的轮子。



我知道有这个东西,但请问你看过这两个类的代码了吗?连作者都在打问号呢
在这里,我继承自原有的类,自然也享受了bufferedIO的成果。

我们都用JDK5/6,没必要再用JDK1.3写的套路,所以几行代码就搞定了,大家也看的清爽。
套用李想的一句话:我不投机,但取巧:)

当然,更重要的,是学习的同时,做一些尝试,开拓一下思路
0 请登录后投票
   发表时间:2011-06-13  
itstarting 写道
曾经de迷茫 写道
agapple 写道
log4j有个AsyncAppender,异步输出的,思路上都是一样的。只不过它用的ArrayList做为buffer,同步控制用了synchronized而已。

性能提升的很多思路都是一样的,要么就是减少I/O阻塞,减少锁竞争。



正解,楼主说看了log4j源码,还搬出这样的轮子。



我知道有这个东西,但请问你看过这两个类的代码了吗?连作者都在打问号呢
在这里,我继承自原有的类,自然也享受了bufferedIO的成果。

我们都用JDK5/6,没必要再用JDK1.3写的套路,所以几行代码就搞定了,大家也看的清爽。
套用李想的一句话:我不投机,但取巧:)

当然,更重要的,是学习的同时,做一些尝试,开拓一下思路


哈,LZ别发火,我原先的本意是说性能优化思路是相通的。
AsyncAppender和你自己实现的BlockingQueueAppender,实现思路都是一样的,我非常赞成一些新的想法和敢于去尝试实践的做法。因为只有你自己切身去写过,才能更加深刻的认识底层源码(因为你在写之前势必会比较深入的学习它的一些底层设计和扩展接口,包括性能好在哪,差在哪)

投个良好贴,支持下这样的工作 
0 请登录后投票
   发表时间:2011-06-13  
哈哈,我向来鼓励百花争鸣的

有时候光看代码价值不大,顶多是“哦,原来这样啊”——动动手才好,尤其是自己想些歪招,取巧而已

谢谢你的临门一脚
0 请登录后投票
   发表时间:2011-06-13  
log4j本身的扩展设计还是不错的。
0 请登录后投票
   发表时间:2011-06-13   最后修改:2011-06-13
完全可以啊,log4j他爹就说了10个原因换log4j,用logback这个新的日志工具,这里有ppt


10 reasons to use logback !------log4j他爹告诉你为何要使用新的日志包logback


http://guosxu.iteye.com/blog/969152


0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics