【问题标题】:Grouping log4net errors by similarity按相似性对 log4net 错误进行分组
【发布时间】:2010-10-19 22:06:15
【问题描述】:

我们使用 log4net 来记录各种 Web 应用程序的应用程序异常。目前我们使用RollingLogFileAppender,阈值为InfoSmtpAppender,阈值为Warn

问题是我们没有简单的方法来按内容对错误日志条目进行分组。我们经常看到某些错误,有时还会出现其他错误。我们希望能够自动跟踪相同错误的发生情况。

从概念上讲,这很简单 - 对日志条目的最后一个(例如 50 个字符)进行模式匹配应该允许我们这样做。

有没有人实施过这样的解决方案,或者谁能推荐一个更好的方法?

【问题讨论】:

    标签: logging log4net error-logging


    【解决方案1】:

    您可以尝试使用不同的 Appender(例如,DBAppender)(当然有错误阈值),然后对结果表进行排序。

    【讨论】:

      【解决方案2】:

      只需将您的行记录为 XML(当然也可以使用其他格式)。

      这就是我们的做法:

      <USERID>GUID</USERID><ERRORCODE>INVALID_XML</ERRORCODE><DESCRIPTION>File x is not in correct xml format</DESCRIPTION>
      

      然后我们解析日志文件并将它们显示在 datagridview 中,其中包含错误代码、描述、日志级别的列。然后我们可以快速排序或过滤,例如 ERRORCODE。

      在数据集中查找那些 INVALID_XML 条目将很快告诉我们这些错误是否存在于日志文件中。

      通过 userId,我们还可以查看客户端在登录期间进行的所有调用。

      【讨论】:

        【解决方案3】:

        我不认为这样的解决方案存在开箱即用。但是,您可以定义自定义日志级别(或选择未使用的级别之一)以输出到其自己的 ILog 以获取更常见的错误,并在“主要”错误日志中将它们过滤掉,而不需要太多麻烦。

        【讨论】:

          猜你喜欢
          • 2020-05-26
          • 1970-01-01
          • 2022-01-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-12-12
          • 1970-01-01
          相关资源
          最近更新 更多