公司的架构师要求把日志封装成 LogUtil 类,提供 sdk 给各团队使用,并且不允许使用 slf4j 直接打印日志,请问各位这么做有哪些好处(我还没想到任何好处)?

1 天前
 WillingXyz

所有的日志打印都通过 LogUtil 类,并且日志上还得加上 code 来区分,比如 LogUtil.info("code101", "xxx")。 不能直接使用 slf4j 的 log.info("xxx")。

我完全不能理解这种操作,和他讨论了很多次,我觉得这样没有任何好处,因为 slf4j 本来就是一个门面,并且 logback 等实现提供了 Filter ,Coverter ,Appender 等扩展,完全可以通过 logback 来实现扩展,而不是侵入业务代码,并且业务也很难都改成这种方式啊。

他说是为了统一入口,便于以后扩展。但给不出具体的例子。工作了十几年了,都没产生好处,还要坚持封装。

ps:此人是我 leader 的 leader 。

请问:封装成 LogUtil 是否真的有好处,且相比 logback 扩展实现的更好,只是我没有想到,欢迎各位指点

12221 次点击
所在节点    程序员
145 条回复
RightHand
1 天前
改了就是他的 kpi:推进了 xxxlog 的自研。
你们?你们爱怎么麻烦怎么麻烦
ddonano
1 天前
你可以重写或者扩展 slf4j 的 log.info 的啊 ,内部调用他的 LogUtil 即可
iikebug
1 天前
架构师没活给你们找点活干,还行拉
mohyz
1 天前
也许可以规范整个公司的日志格式,好做监控和采集上报
unknown404
1 天前
你 leader 的 leader 说的没错,统一入口方便后面统一改造升级,比如统一的日志格式,如果日志收集处理的话这个是必要条件,直接让使用 slf4j 的结果是日志格式千千万,想统一都统一不了,问就是屎山。
theniupa
1 天前
如果人多了不见得大家都能遵守约定
skyrim61
1 天前
利益分析法来分析这个问题
nealHuang
1 天前
统一入口是最好的,就跟抛异常一个道理,你可以为异常的内容设定各种规范,但是一旦出现一个 throw new RuntimeException(),你知道的,一发不可收拾 :(
Wh1te
1 天前
没有什么好处,他封装的扩展性还能比 logback 的好?
daya0576
1 天前
方便监控吧,根据上下文加一些标准的字段和格式,就能统一收集处理了。
azwcl
1 天前
正常吧,不然日志采集,监控报警不好;日志格式后期还是要规范的;
baolei666
1 天前
@RightHand 正解
WillingXyz
1 天前
@mohyz
@unknown404
@daya0576
@azwcl 格式是规范了的,已经在 sdk 里提供了统一的 logback.xml ,现在问题是,打印日志需要封装一个 LogUtil 吗
WillingXyz
1 天前
@daya0576 比如 logback ,可以通过 converter 机制来增加字段,只需要实现一个 converter 类,然后修改 logback.xml 即可
devilweime
1 天前
spring 有可以配置日志格式的地方,slf4j 的 logger 可以标识是哪个类打的日志,蛮有用处的,LogUtil 感受不到太大的好处
2han9wen71an
1 天前
日志加密、日志脱敏?
WillingXyz
1 天前
@RightHand
@iikebug
那我写出来怎么推广出去啊,他又不推广,总是 push 我们推广,我没有充足的理由让各个业务团队这么改
RightHand
1 天前
推广是他的事,怎么成你的任务了?
huguohuan
1 天前
也许可以规范整个公司的日志格式,好做监控和采集上报
tool2dx
1 天前
日志封装是很常见的操作啊,后期可以根据 code101 来做源代码级别的筛选/过滤/屏蔽。

如果维护的人经常变动,统一代码格式挺重要的。当然不离职,怎么方便怎么来。

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

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

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

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

© 2021 V2EX