很多项目盲目上ELK,上完之后发现并不好用,或者上完之后大家还是去命令行翻日志文件。其实是日志基础没打好,导致ELK价值发挥不出来。
我认为应该先统一日志格式之后,再去考虑上层工具用什么。
1.日志输出格式
[Logic]-[服务名]-[等级]-[类名.方法名]-[异常编号]-[备注信息]
格式说明:
[Logic] : 固定内容
[服务名] : 每个服务名字不同.
[等级] : 日志等级. 可选参数: Info 普通信息, Normal 普通等级, Urgent 严重等级. 可以通过这个参数触发报警短信或邮件.比如normal发邮件, urgent发短信.
[类名.方法名] :
[编号] : 异常编号, 唯一生成, 方便查询.
只有 Normal 和 Urgent 异常有编号, Info普通信息都是 0 ,
编号格式 MMdd xxxxxx
[其他信息] : 程序控制的需要自定义补充的内容. 通常是业务参数,json格式。
log文件示例:
06-03 15:08:30.000 INFO c.z.s.s.f.FctCottonBean
- [Logic]-[scheduler]-[Info]-[FctCottonBean.fctCotton24HourTask]-[0603 030830]-[纺纱厂投产者计算定时器开始----stat]
06-03 15:08:30.005 INFO c.z.s.s.f.FctCottonBean
- [Logic]-[scheduler]-[Info]-[FctCottonBean.fctCotton24HourTask]-[0603 030830]-[纺纱厂投产者计算:最后投产时间还没达到:-----end:2019-06-03 11:08:00,2019-06-04 11:06:20]
06-03 15:08:30.005 ERROR c.z.s.s.f.FctCottonBean
- [Logic]-[scheduler]-[Normal]-[FctCottonBean.fctCotton24HourTask]-[0603 030830]-[纺纱厂投产者计算异常]
监控报告示例:
2. 日志包装类的使用
网友评论