Как отключить предупреждения журнала событий .NET? - PullRequest
4 голосов
/ 11 января 2012

В соответствии с нашей политикой нам больше не разрешается запись в журнал событий, поэтому я удалил весь код журнала событий из записи в журнал событий, что работает, однако я продолжаю получать случайные предупреждения ASP.NET 4.0 от ошибок, даже хотя у меня есть код в Application_Error для обработки всех ошибок.

Любой способ полностью отключить ведение журнала событий, может быть, изменение web.config или настройка IIS для его отключения?

Заметил это и для многих ошибок .. не только мой HTTPHandler

Пример записи EventLog:

Event code: 3005 
Event message: An unhandled exception has occurred. 
Event time: 9/8/2011 10:26:04 AM 
Event time (UTC): 9/8/2011 2:26:04 PM 
Event ID: 6b56761296d24e1aa01038ce125be044 
Event sequence: 97 
Event occurrence: 1 
Event detail code: 0 

Application information: 
    Application domain: /LM/W3SVC/1/ROOT/-2-129599642336131368 
    Trust level: Full 
    Application Virtual Path: /
    Application Path: 
    Machine name: 

Process information: 
    Process ID: 6396 
    Process name: w3wp.exe 
    Account name: IIS APPPOOL\MyAppPool

Exception information: 
    Exception type: System.Exception
    Exception message: STACKTRACE


Ответы [ 2 ]

4 голосов
/ 11 января 2012

Поведение ASP.NET по умолчанию - запись необработанных исключений в журнал событий. Чтобы предотвратить их запись в журнал событий, нужно обрабатывать их самостоятельно. Вы можете сделать это через файл Global.asax в обработчике Application_OnError.

Вы также можете вызвать Server.ClearError (), чтобы он не всплывал на другие обработчики.

1 голос
/ 10 июня 2015

Это правда, что поведение по умолчанию - записывать все необработанные исключения в журнал событий приложений, как объяснено в этом ответе .Это поведение контролируется элементом <system.web><healthMonitoring> в web.config, а настройки по умолчанию отображаются здесь .Идея состоит в том, что для каждого необработанного исключения вызывается экземпляр System.Web.Management.WebBaseErrorEvent, а затем настройки ASP.NET по умолчанию приводят его к регистрации в журнале событий приложений.

Вы можете обработать все ошибки или изменить ASP.Настройки NET.Правила, которые вызывают эти события, могут быть изменены с помощью <system.web><healthMonitoring><rules>.Поскольку вы говорите, что вам запрещено писать в журнал событий, я думаю, что вам лучше всего просто стереть правила по умолчанию, как объяснено здесь :

<healthMonitoring>
  <rules>
    <clear />
  </rules>
</healthMonitoring>

, которое удаляет два значения по умолчаниюправила каждой вызывающей записи в журнал событий.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...