我正在使用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中的“错误”类型进行记录?
答案 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)
最后,我能够像罗伯特哈维所说的那样设置严重性(不是我之前尝试的类别或优先级)。