您的位置:首页 > 其它

批处理中日志打印注意事项

2018-01-21 12:20 274 查看

背景

在批处理程序中,都需要打印日志来追踪分析代码的执行逻辑和耗时等情况,但是如何更合理地打印日志才能避免日志对程序执行效率的影响呢?

具体

分析如下代码:

累计时间

public static void  main(String[] args){
Random random = new Random();
long t1 = System.currentTimeMillis();
for (int  i = 0;i<1000;i++){
int j = random.nextInt(1000);
long t2 = System.currentTimeMillis();
logger.error("单个任务耗时:cost=" + (t2-t1));
}
}


不累计时间

public static void  main(String[] args){
Random random = new Random();

for (int  i = 0;i<1000;i++){
long t1 = System.currentTimeMillis();
int j = random.nextInt(1000);
long t2 = System.currentTimeMillis();
logger.error("单个任务耗时:cost=" + (t2-t1));
}
}


从上面的代码可以发现,一行代码,执行一次和执行上万次,它耗时是不同的,因此,在批处理中,日志不能全部都打印出来,要根据随机算法打印很小一部分,能用于分析即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: