1

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

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

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

有没有人实施过这样的解决方案,或者任何人都可以推荐更好的方法?

4

3 回答 3

1

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

这是我们的做法:

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

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

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

通过 userIds,我们还可以看到客户端在登录期间所做的所有调用。

于 2009-04-16T17:30:49.367 回答
1

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

于 2009-04-16T17:31:07.150 回答
0

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

于 2009-04-16T17:30:20.337 回答