使用Jactor提高日志体系的功能sina - AG环亚娱乐

使用Jactor提高日志体系的功能sina

2019-02-08 11:34:32 | 作者: 晓凡 | 标签: 功能,体系,日志 | 浏览: 8406

在大型使用体系中,logger是必不可少的,但是在功能要求很高的多线程体系中,logger的I/O有时候成为功能杀手。咱们简略的用一个比如阐明,在10个线程中跑100次,每次记载1000行日志到文件中,
代码如下:
@Test(invocationCount=100,threadPoolSize=10)
 public void testLog4j()
 for(int i=0;i 1000;i++)
 logger.info("log4j I am ok "+i+" at thread"+Thread.currentThread().getId());
 @Test(invocationCount=100,threadPoolSize=10)
 public void testLogback(){
 for(int i=0;i 1000;i++)
 logback.info("logba I am ok "+i+" at thread"+Thread.currentThread().getId());
 }

成果如下



明显,对咱们的功能发生很大的影响。下面让咱们看看Jactor怎样帮咱们优化功能,咱们把log4j的日志参加jactor,而logback保存不变
@Test(invocationCount = 100, threadPoolSize = 10)
 public void testJactor() throws Exception {
 for (int i = 0; i 1000; i++) {
 jactorLogger.log("actor I am ok " + i + " at thread" + Thread.currentThread().getId());
 @Test(invocationCount = 100, threadPoolSize = 10)
 public void testLogback() {
 for (int i = 0; i 1000; i++)
 logback.info("logba I am ok " + i + " at thread" + Thread.currentThread().getId());
 }

再看测验成果



能够看到testJactor所需求的I/O彻底被分离出来了,不再影响咱们的中心代码运转。

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表AG环亚娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章