有在写Log的人都知道Log需要被分级,而分级对於问题的除错,是很重要的,当问题发生时可以帮助工程师快速定位。
相信在写go的人都对logrus不陌生
本篇文章为大家简单介绍Google对於Logging文件导览说明
以下图表共分为九个等级,Severity越大代表影响越严重
NAME | Severity | 意义 |
---|---|---|
DEFAULT | 0 | 此Log没被指定Level |
DEBUG | 100 | 除错或者追踪资讯 |
INFO | 200 | 例行资讯,例如正在运行的状态或性能 |
NOTICE | 300 | 正常但是重要的,像是启动, 关闭, 或者异动设定 |
WARNING | 400 | 警告事件可能造成问题 |
ERROR | 500 | 错误事件可能造成问题 |
CRITICAL | 600 | 关键事件会导致更严重的问题或中断 |
ALERT | 700 | 有人必须立即采取行动 |
EMERGENCY | 800 | 一个或多个系统已经无法使用 |
以我们团队来说,我们透过ELK蒐集LOG监控服务捞并判断WARNING等级以上的LOG设为警报,直接推送至警报器。
coding的人就要依照log的Level把相关的Log订好,帮助大家在诊断问题时,提供重要的线索!
通常就是边coding边想,如果出问题时,哪些资讯要写入Log能快速帮助自己找到问题。
再来就是怎麽样算是好的Log?
第一种Log范例
{
"level":"WARNING",
"message":"slow log",
"now_time":"1631239155",
"severity":400,
"time":"2021-09-10T01:59:15.113403016Z"
}
第二种Log范例
{
"level":"WARNING",
"message":"ping db slow log",
"api": "/api/ping",
"func": "ping",
"now_time":"1631239155",
"severity":400,
"time":"2021-09-10T01:59:15.113403016Z"
}
大家可以看一下这两个Log案例,是不是下方的更让人了解发生在哪呢?
所以説Log的撰写也是蛮重要的一课,在帮助大家快速定位问题的时候,是个非常重要的资料。
>>: [Angular] Day11. Attribute, class, and style bindings and Two-way binding
大家好,今天是第三十二天,也是赛程结束後的第二天。 昨天介绍了我们会在Webview里使用的套件,今...
天亮了 昨晚是平安夜 关於迷雾森林故事 水底世界 就在泰迪跳进水中游水的瞬间 水流与泰迪身上的的毛高...
今天主要要来介绍这三个元件及彼此之间一个简单的应用,首先先来提一下EditText、textView...
Line Massaging API- 打造自己的 Chatbot 接下来,如果要在 Azure W...
设定 Networking Layer 参考: https://knative.dev/docs/i...