0

我正在使用 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 中的“错误”类型进行日志记录?

4

2 回答 2

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

于 2009-09-17T21:03:25.967 回答
0

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

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

我使用 Powershell 创建了一个自定义源并更新了我的跟踪侦听器以使用该源。

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

最后,我能够设置严重性(不是类别或优先级,就像我之前尝试过的那样),正如 Robert Harvey 所说。

于 2010-02-23T14:45:12.950 回答