Java 项目的日志打印有什么规范么(或者相对美观的方式),目前公司的项目日志打印内容都非常混乱,有时候日志打印都无法明确出来问题。

2021-12-29 13:46:59 +08:00
 Renco

目前项目能排查出来的只有 系统异常,因为直接给你抛报错的行了。但是对于业务逻辑的错误,要么日志太少要么日志打印混乱,根本拍查不出来。最坏的情况就是本地连生产还得 debug 一行一行执行操作。

2570 次点击
所在节点    程序员
9 条回复
wolfie
2021-12-29 13:54:49 +08:00
业务日志差不多就能作为排查参考。
不过 根据日志排查问题,不同人排查 速度与准确度 差距太大了。
seagull7558
2021-12-29 14:16:49 +08:00
本地连接生产略显离谱,风险太大了吧

我是在业务代码中写了蛮多 debug 级别日志的 平时 info 级别 有问题切到 debug 排查,推荐下 arthas 吧
相关的工具配置的齐一点对 debug 帮助很大 链路啊之类的
Renco
2021-12-29 14:23:29 +08:00
@seagull7558 仅给单独一个 ip 开放数据库,然后本地连着 debug ,这种是看日志实在看不出问题的离谱解决方式了。
Renco
2021-12-29 14:23:46 +08:00
@seagull7558 谢谢
Renco
2021-12-29 14:24:52 +08:00
@wolfie 现在日志唯一通用的只有 请求和响应的拦截日志打印了,业务日志有些写 有些没有写,导致很多问题考日志不能排查。而且每个人的日志风格不一致
charmToby
2021-12-29 14:35:06 +08:00
没有加入 Jeager 链路追踪这样服务吗?然后配合日志格式一般 模块+操作对象 id 。
ShuangChenyue
2021-12-29 16:43:02 +08:00
datoujiejie221
2021-12-29 16:52:57 +08:00
可以看看 opentracing 规范
xuanbg
2021-12-30 08:12:02 +08:00
2021-12-30 08:09:11.107 [INFO ]: requestId: e91cf6f0e5d341a7943f9f936b51c49d. 请求参数: {"source":"39.129.146.82","method":"GET","url":"/bank/practice/v1.0/chapters","headers":{"fingerprint":"2c2f1290b7091b51efd6965d11888f5e","User-Agent":"okhttp/3.14.3","content-type":"application/json; charset=utf-8","Host":"api.huixue-bao.com","Accept-Encoding":"gzip","accept":"application/json"},"params":{"bookId":"5006","userId":"99"},"body":null}

这样

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

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

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

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

© 2021 V2EX