批处理中日志打印注意事项
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)); } }
从上面的代码可以发现,一行代码,执行一次和执行上万次,它耗时是不同的,因此,在批处理中,日志不能全部都打印出来,要根据随机算法打印很小一部分,能用于分析即可。
相关文章推荐
- Jni 日志打印以及注意事项
- logback-classis日志打印注意事项
- 用日志钩子处理键盘消息时的一个注意事项
- 关于Java日志的注意事项
- Qt中如何禁掉所有UI操作以及注意事项(处理各个widget的eventFilter这一层,但是感觉不好,为什么不使用QApplication呢)
- java进行异常处理时的注意事项
- json数据在前端和php后端处理注意事项
- [开发知识点] 使用JQuery 将DataTable 转化成JSON数据,前端无法处理JSON数据的注意事项
- Android日志打印与处理 UncaughtExceptionHandler 提交服务器
- 反渗透处理设备采用海水淡化膜时注意事项
- ArcGIS教程:地理处理服务坐标系注意事项
- 软件测试缺陷处理注意事项 ( 吕志鸿.35.com)
- 升级app时coreData的处理及注意事项
- 华为部分手机不打印日志问题处理
- Xcode8中处理打印日志的配置
- 中断处理函数的注意事项
- 异常处理 的相关注意事项
- Java自学笔记(第十天)-异常-异常的处理-throws-throw-多异常处理-自定义异常-throwable类-RunTimeException类-finally-异常在方法继承中的注意事项-
- 在PCH中定制自己的LOG打印日志,分别在DEBUG 与 RELEASE的状态下处理,及如何把PCH引入到项目中
- Javascript 中文字符串处理额外注意事项