Microsoft TraceEvent - Как войти в программу просмотра событий

Используя библиотеку Microsoft.Diagnostics.Tracing EventSource (не путать с System.Diagnostics.Tracing), можно регистрировать определенные сообщения в средстве просмотра событий, добавив атрибут к аннотации события, называемой "Канал". Однако это выводит вывод в область "Журналы Windows \ Приложение". Как я могу получить это, чтобы войти в "Журналы приложений и услуг \MyApp\MyFeature"?

Пример кода:

[EventSource(Name = "MyDemoApp")]
   public sealed class MyDemoEventSource : EventSource
   {
      private MyDemoEventSource () { }
...    
public const EventTask MyDemoTask = (EventTask) 12345;
...

[Event(12345,
     Message = "My Demo Error: {0}",
     Level = EventLevel.Warning,
     Channel = EventChannel.Admin,
     Task = Tasks.MyDemoTask,
     Keywords = Keywords.Rule,
     Opcode = Opcodes.Fail)]
    private void SomethingWentWrong(string ErrorMessage)
    {
        WriteEvent(12345, ErrorMessage);
    }

1 ответ

Решение

Благодаря Мэттью Уотсону, который указал мне на направление этой статьи, решение проблемы содержится в:

https://blogs.msdn.microsoft.com/dotnet/2014/01/30/microsoft-diagnostics-tracing-eventsource-is-now-stable/

* Не забудьте зарегистрировать свой EventSource, поскольку это шаг, который фактически создает записи в Event Viewer, требуется уникальное имя (если ваша компания / продукт уже имеет запись в Event Viewer для других целей, убедитесь, что вы используете новое имя).

Другие вопросы по тегам