我们使用log4net记录各种Web应用程序的应用程序异常。目前,我们使用RollingLogFileAppender
,其阈值为Info
和SmtpAppender
,阈值为Warn
。
问题是我们没有简单的方法按其内容对错误日志条目进行分组。我们经常看到某些错误,有些错误偶尔会出现。我们希望能够自动跟踪相同错误的发生。
从概念上讲这很简单 - 日志条目的最后一个,例如50个字符的模式匹配应该允许我们这样做。
有没有人实施过这样的解决方案,或者有人可以推荐更好的方法吗?
答案 0 :(得分:1)
只需将您的行记录为XML(其他格式当然也会起作用)。
我们就是这样做的:
<USERID>GUID</USERID><ERRORCODE>INVALID_XML</ERRORCODE><DESCRIPTION>File x is not in correct xml format</DESCRIPTION>
然后我们解析日志文件并在datagridview中显示它们,其中包含errorcode,description,loglevel列。然后我们可以快速排序或过滤,例如ERRORCODE。
查看这些INVALID_XML条目的数据集将很快向我们显示日志文件中是否存在这些错误。
使用userIds,我们还可以看到客户端在登录时所做的所有呼叫。
答案 1 :(得分:1)
您可以尝试使用其他Appender(例如,DBAppender)(当然具有错误阈值),然后对结果表进行排序。
答案 2 :(得分:0)
我不认为这种解决方案是开箱即用的。但是,您可以定义自定义日志级别(或选择其中一个未使用的日志级别)以输出其自己的 ILog 以查找更常见的错误,并在“主”错误日志中过滤掉它们而不会过多麻烦。