Log.INFO与Log.DEBUG [关闭]


95

我正在开发一个大型的商业程序,并使自己在想使用Log.INFO和Log.DEBUG登录的哪种信息之间感到困惑。关于每种类型的日志消息包含什么标准或经验法则?

Answers:


132

我通常尝试这样使用它:

  • 调试:尝试调试问题时,对于开发人员来说有趣的信息。
  • INFO:信息对于支持人员试图找出给定错误的上下文很有趣
  • 警告至致命:问题和错误取决于损坏程度。

可以始终在生产中启用INFO,这会对性能产生影响吗?
pinkpanther

1
这取决于..(我喜欢那个答案),您需要考虑的因素有:1.信息日志行的数量2.日志记录设置(日志记录行最终到达哪里?)3.可用的处理和io电源有关系统。
nfechner '16

1
并且请注意,噪声越大,发现问题就越困难。来自plumberjack.blogspot.be/2010/09/…:>>与Unix哲学相同,软件不应过于冗长,除非需要或被要求时。(为什么我不能引用这个?)
axd

38

Debug:有关程序状态的细粒度语句,通常用于调试;

信息:有关程序状态的信息性陈述,表示程序事件或行为跟踪;

警告:描述程序中潜在有害事件或状态的语句;

错误:描述应用程序中非致命错误的语句;此级别经常用于记录处理的异常;

致命的:表示最严重错误条件的语句,假定会导致程序终止。

http://www.beefycode.com/post/Log4Net-Tutorial-pt-1-Getting-Started.aspx找到


用户输入触发的错误是否应视为警告或错误?(即用户名或密码不正确)
Stevoisiak

@Stevoisiak根据他的回答,我认为应该将其视为信息。
aderchox

9

还要记住,所有info()error()debug()日志调用都在任何应用程序中提供内部文档。


我认为这是一个好点。例如log.info("parse the widget text; ignore contents of 'foo'"),即使它也是一条日志语句,在阅读代码时也可作为有用的文档。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.