事件日志写为警告而不是错误

时间:2009-09-17 20:54:31

标签: logging event-log enterprise-library

我正在使用EntLib 4.1进行日志记录。当我在Global.asax.cs的Application_Error中处理异常时,我使用“错误”类别记录错误。我假设事件日志类型为“错误”,而事件日志条目的编写类型为“警告”和“Web事件”类别。

public static void Write(Exception ex)
{
     var log = new LogEntry
     {
          Message = ex.Message
     };

     Logger.Write(log, "Error");
}

事件日志类型和日志类别之间是否存在脱节?

如何让我的Web应用程序使用Enterprise Library中的“错误”类型进行记录?

2 个答案:

答案 0 :(得分:2)

尝试设置一个看起来更像这样的LogEntry对象:

var log = new LogEntry
{
    Category = "Exception";
    Severity = Severity.Error;
    Message = message;
}

http://codebetter.com/blogs/david.hayden/archive/2005/03/17/59974.aspx

答案 1 :(得分:0)

我的第一个问题是配置使用旧的Enterprise Library配置格式并导致警告/ Web事件。

下一个问题是默认事件源是在应用程序事件日志中使用“企业库日志记录”,该日志未定义。

我使用Powershell创建了一个自定义源,并更新了我的Trace Listener以使用该源。

$x = "YourApplicationNameHere"
$source = new-object System.Diagnostics.EventSourceCreationData $x, "Application"
$source .MachineName = gc env:computername
[System.Diagnostics.EventLog]::CreateEventSource($source)

最后,我能够像罗伯特哈维所说的那样设置严重性(不是我之前尝试的类别或优先级)。