是否应该只记录错误消息?

时间:2012-10-03 17:18:24

标签: c# logging nlog

我刚刚开始使用NLog并登录,但我发现自己可能过度滥用它。我正在记录每一行代码,其中大部分是Info消息,但在我的try catch场景中,或者如果某些东西为null,我将记录一个错误。记录最好的东西是什么?

我将它用于有两个项目的WPF解决方案(1是UI,另一个是类库)

<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

  <!-- make sure to set 'Copy To Output Directory' option for this file -->
  <!-- go to http://nlog-project.org/wiki/Configuration_file for more information -->

  <targets>
        <target name="errorLog" xsi:type="File" fileName="${basedir}/error.txt" />
      <target name="infoLog" xsi:type="File" fileName="${basedir}/info.txt" />
    </targets>

    <rules>
        <logger name="*" level="Error" writeTo="errorLog" />
      <logger name="*" level="Info" writeTo="infoLog" />
    </rules>
</nlog>

1 个答案:

答案 0 :(得分:3)

NLog支持记录级别的概念。

最好使用低于Error的级别记录可能有助于跟踪程序执行操作的内容的任何内容。在部署应用程序时,将所需的日志记录级别设置为NLog.config中的Error。

http://nlog-project.org/wiki/Log_Levels

如果用户遇到意外问题,您可以将日志记录级别更改为例如信息并获得有关正在发生的事情的更多信息。

话虽如此,每一行代码几乎肯定是矫枉过正的。如果你走到极端,你就会把你的代码弄得乱七八糟。

专注于应用程序中可能出错的地方。

我个人的偏好是:

  • 使用跟踪级别指示代码流(输入方法,退出方法)
  • 使用信息级别指示密钥计算中的进度/步骤
  • 使用错误级别指示应用程序可以从
  • 恢复的意外情况
  • 使用致命等级表示发生了非常糟糕的事情并且应用程序即将关闭。