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");
}

イベント ログの種類とログ カテゴリの間に断絶はありますか?

Enterprise Library から「エラー」のタイプで Web アプリケーションをログに記録するにはどうすればよいですか?

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

私の最初の問題は、構成が古い Enterprise Library 構成形式を使用していて、警告/Web イベントを引き起こしていたことでした。

次の問題は、既定のイベント ソースが、定義されていないアプリケーション イベント ログで "Enterprise Library Logging" を使用していたことです。

Powershell を使用してカスタム ソースを作成し、そのソースを使用するように Trace Listener を更新しました。

$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 に答える