Журнал событий записывается как предупреждение вместо ошибки - PullRequest
0 голосов
/ 18 сентября 2009

Я использую EntLib 4.1 для регистрации. Когда в Application_Error файла Global.asax.cs обрабатывается исключение, я регистрирую ошибку с категорией «Ошибка». Я предполагал, что тип журнала событий будет «Ошибка», но вместо этого запись в журнале событий записывается с типом «Предупреждение» и категорией «Веб-событие».

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

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

Есть ли разрыв между типом журнала событий и категорией журнала?

Как я могу заставить свое веб-приложение регистрироваться с типом «Ошибка» из Enterprise Library?

Ответы [ 2 ]

2 голосов
/ 18 сентября 2009

Попробуйте настроить объект LogEntry, который будет выглядеть примерно так:

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

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

0 голосов
/ 23 февраля 2010

Моей первой проблемой было то, что конфигурация использовала старый формат конфигурации Enterprise Library и вызывала предупреждение / веб-событие.

Следующая проблема заключалась в том, что источником событий по умолчанию было использование «Журнала Enterprise Library» в журнале событий приложений, который не был определен.

Я создал собственный источник с помощью Powershell и обновил свой Trace Listener, чтобы использовать этот источник.

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

Наконец, я смог установить серьезность (а не категорию или приоритет, как я пытался раньше), как заявил Роберт Харви.

...