只有在捕获异常的情况下,才能使用 error 级别的日志吗?

105 天前
 unregister
1103 次点击
所在节点    程序员
5 条回复
yusheng88
105 天前
个人经验:
如果因为异常导致任务、业务无法继续运行,就应该打印 error 日志
如果因为参数错误、资源不足等,存在降级处理方案时,就选择 warn 、info 级别日志
dyv9
105 天前
前两天帮压力测试 5 分钟 10 万个请求,发现警告的日志打太多了,几个 G ,后来就把它缓冲一下,同一个问题(看堆栈位置)在 10 分钟内只打印一次日志,减少日志量。
unregister
104 天前
@dyv9 就是放在 cache 里面吗?有就不打印,没有就打印?那你们这个 cache 怎么实现的呢?
unregister
104 天前
@dyv9 不好意思,习惯这么问问题,其实我自己心里现在也知道咋做了
dyv9
104 天前
@unregister 我用 hash tablr 缓存了堆栈位置 (className.methodName:lineNumber) 和上次打印的时间,后面来的警告如果间隔这个时间超过 10 分钟就打印并更新缓存时间,关键是要识别出同一个错误,所以并不通用,同一个方法位置可能因为参数不同代表不同场景,我们需要想办法区分出来。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1011987

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX