首页 > 编程知识 正文

java编程日志,java 日志分析

时间:2023-05-03 10:04:20 阅读:20008 作者:766

文章目录简介其他类型的规格日志输出过多日志重复打印批量打印日志带方法的文章日志跟踪和其他基本要求

前言

很多从事Java开发的人可能读过蚂蚁的Java后台开发手册。 其中有一些关于Java后台开发规范的内容,基本上涵盖了通用和普遍的规范,但大多数都是简明扼要的。 本文主要用更多的案例说明一些规格,并结合自己的经验进行补充!

其他类型的规格【Java后台开发规格】-不简单的命名

【Java后台开发规格】——长函数、长参数

【Java后台开发规范】—与线程同时运行

【Java后台开发规格】——甜甜圈的复杂性

【Java后台开发规格】——设计原则

【Java后台开发规格】—空值处理

【Java后台开发规格】—异常处理

日志输出日志的规范其实并不多,也不是很重要。 日志打印原本就很简单,很简单。 蚂蚁开发手册中有两个关于日志的强制性要求。 一个是日志文件中至少15天,另一个是机密信息、安全性等相关记录。 根据国家法律的要求至少要保持日志这么长时间,日志的管理很重要,所以对日志的命名、命名是很自然的

有人日志太多了。 为了便于故障诊断,50行代码中有一半正在打印日志。 似乎在任何方面都有在调用前后用日志记录方法的参与、参与的习惯。 我知道打印日志有一定的性能消耗。 既有100ms的方法,也有50ms的原因可能是打印日志。 其次,日志的存储成本增加了。

如果打印日志并抛出异常,则将重复打印两次日志。

try{//.}catch(exceptione ) log.error ) (xxxx ),e ); thrownewmyexception(e; add方法调用方和调用方都打印了相同的内容

public void method () { log.info )、开始执行方法method ); int a=1,b=2; 调用log.info('add方法并加入()、)、a和b ); intc=add(a,b ); log.info('add方法为{} )、c ); log.info (方法method的执行结束); }privateintadd(inta,int b ) { log.info )方法开始执行add,{} (、)、a、b ); int c=a b; log.info('add方法为{} )、c ); 返回c; } map打印时已包含str1、str2的内容

公共静态语音方法() { MapString,String map=new HashMap; 字符串str1='1'; 字符串str2='2'; map.put(a )、str1); map.put(b )、str2); log.info(str1: )、str2:{}、str1、str2); log.info(map: )、map ); }一瓶就可以打印,所以不需要打印三次

publicstaticvoidmethodb ((stringstr1='1); 字符串str2='2'; String str3='3'; log.info(str1: )、str1); log.info(str2: )、str2); log.info(str: )、str3); }在循环体内批量打印日志

公共静态语音方法() for ) intI=0; i 100; I ) { log.info (循环内打印日志: ' i ) I ); }打印大集合数据

publicstaticvoidmethodd { int [ ] arr=new int [ 1000 ]; Arrays.fill(Arr,1 ); log.info(Arrays.tostring(ARR ) ); }不要在日志中将map或对象转换为String,而只需要直接使用toString方法输出,从JSON迁移到String本身具有一定的性能消耗。

公共静态语音方法() { MapString,String map=new HashMap; map.put(a ),1 ); map.put(b )、2 ); map.put('c ','3' ); 不需要在JSON中将log.info('map或对象转换为String后再打印: {}、JSON.tojsonstring ) ); }注意不要因日志输出而发生错误

公共% 20静态% 20 void % 20 methode % 28 % 29 % 20 % 7b % 20 user % 20 user % 20 % 3d % 20 null % 3b % 20 log.info % 28 % 27 6 % 87 % e9 % 92 % 20.info % 28 % 27 % E7 % 9b % B4 % E6 % 8e5% a5 % E6 % 89 % 93 % E5 % 8d % B0 user % E5 % 8d % B3 % E5 % E5 % bb0 % bb0 % 25 % 209 % 83 % BD % E4 % bb % a5 % E6 % a5 % E5 % BF % 97 % E7 % 9a % 84 % E5 % BD % a2 % E5 % BC % 8f % E5 % E5 % E5 ser % 28 % 29 % 3b % 20 log.info % 28 % 27 % 25 % 206 % 88 % 903360 % 7b % 27 % 27 % 20 name % 29 % 3b % 20 user.set name 6 % E5 % 88 % 99 % E6 % 89 % a7 % E8 % a1 %8cmethodb % 27 % 29 % 20if % 20 % 28 obji % 200 % 7d % 20 else % 20 % 7b % 20 methodb % ef % BC % 8c % E6 % 9c % 80 % E5 % B0 % 91 % E7 % bb % 99 % E6 % a5 % BF % 97 % e9 % 85 % E4 % BD % 25 % 20f % E7 % A8 % 8b % E6 % af % 94 % E5 % a6 % 82 % e9 % 85 % 8d % E7 % BD % ae4 % b8 % 25 atrace id % E5 % 92 % 86 % E6 % 92 % 25 % 2020 % 5b r % 7b 10 % 7d % 20 % 5b % 20 % E7 % A8 % 8b % E5 % 90 % 8dx nio-2 % E4 % b8 % 80 % E7 % 8b % E5 % B1 % E7 % 9f % a5 % e9 3 % 80 % 81 % E8 % af % B7 % eb7 % 25 % 208 % ab % E8 % BF % 9b % E8 % a1 % E8 % be % 93 % E5 % 87 % ba % ef % BC % 8c debb 7 % 94 % A8 % E5 % 8d % A0 % E4 % BD % 8d % E7 % AC % a6 % 20 % 8d % A0 % E4 % BD % 8d % E7 % AC % E6 % af % 94 % E4 % BD 7 % 94 % A8 % E8 % 8b % B1 % E6 % 96 % ef % BC % 87c % 25 % 20bf % 97 % E5 % ad % 98 % E5 % A8 % E5 % a4 % a7 % E5 % B0 % 1 % E5 % a4 % E7 % 87 % 8f % E5 % 9c % B0 % E8 % be93 % 25 % 20 % E4 % ba % 8e % E7 % B3 % E7 % bb % 9f % E6 % 80 % a7 % E5 % BD % E6 % a5 % BF % 97 % E6 % B6 % E6 % E6 % 25 % 20c % 9f % E7 % 9a % 84 % E6 % 9c % 89 % E4 % ba % E7 % 8c % 8b % E5 % E7 % bb % 99 % e9 % 97 % ae9 % e9 % a2 % E6 % 88 % E6 % 25 % 20 % B3 % A8 % E6 % 84 % 8f % E6 % 97 % a5 % BF % 97 % E8 % be % E3 % 81 % E5 % BC % 82 % E5 % b8 % E6 % 88 % 20 % E3 % 80 % 0a % 206 % E3 % 80 % 81 % E4 % b8 % E8 % a6 % 81 % E7 %

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。