gpt4 book ai didi

logging - 如何设计日志级别名称。反射(reflect)使用频率?

转载 作者:行者123 更新时间:2023-12-02 21:18:27 25 4
gpt4 key购买 nike

我将建立一个伟大的系统。关于日志级别命名的思考让我怀疑。

  1. 我可以选择名称,以便管理员和开发人员知道哪些名称使用。不使用文档?

如果日志级别也能反射(reflect)它们在日志中出现的频率,那就太好了。

例如:

  • INIT/SHUTDOWN -(出现一次)
  • FUNC_CALL -(频繁出现,例如在循环中)
  • TRACE -(在函数中多次)

现在,系统管理员永远不会在生产中打开 TRACE 日志记录。他可以安全地打开 INIT/SHUTDOWN。如果系统流量较低,则为 FUNC_CALL。

这个设计有什么问题吗?

您会使用什么名称来反射(reflect)频率?

(我知道 WARN、INFO 和 ERROR。)

最佳答案

我会选择更多 self 描述的名称,例如:

  • EVERYTHING_IS_BROKEN_IMMEDIATE_ATTENTION_REQUIRED
  • RARE_IMPORTANT_EVENT(包括初始化/关闭)
  • DETAILED_EXECUTION_TRACE
  • TONS_OF_DEBUGGING_INFORMATION

也许不完全是这些,但您明白了 - 确保绝对不可能混淆每个日志级别的含义。 (我还在更保守的意义上使用了“跟踪”术语 - 函数调用列表实际上是一个跟踪,因此 FUNC_CALL 和 TRACE 对我来说听起来是同义词)

还要确保不要设置任何人都不应禁用的日志级别。我个人总是发现默认的错误/警告/信息级别很愚蠢,因为它们非常具有误导性(请求不存在的项目是一个错误吗?)

如果没有人能够(意外地)禁用 EVERYTHING_IS_BROKEN_IMMEDIATE_ATTENTION_REQUIRED 和 RARE_IMPORTANT_EVENT 级别,那就太好了。

不要害怕使用长名称,IDE 无论如何都会自动完成它们。拥有更长的名称比困惑的日志更好。

关于logging - 如何设计日志级别名称。反射(reflect)使用频率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/623321/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com