Имя канала в EventSource - PullRequest
       59

Имя канала в EventSource

0 голосов
/ 22 декабря 2018

У меня есть приложение, пишущее некоторые события ETW.Поставщик событий создается с определенным именем, например:

[EventSource(Name = "Test-SourceLogger")]
public class EventSourceLogger : EventSource

. Затем в этом журнале появляются различные события, в которые записываются некоторые данные.Кроме того, журналы записываются через трассировку, выше которой создается пользовательский прослушиватель трассировки.Этот слушатель затем пишет события.

Теперь я хочу видеть эти события в средстве просмотра событий и не могу их найти.По сути, ни один из параметров левой панели в программе просмотра не отображает журналы.Я искал, и кажется, что мы где-то должны указать канал в манифесте инструментария при регистрации провайдера.Я использую .NET 4.5 framework и, следовательно, мне не нужно явно регистрировать провайдера.

  • Необходимо ли указывать название канала?
  • Как я могу просмотреть свои журналы в средстве просмотра событий, если у меня его нет?Нет ли какого-либо канала по умолчанию, куда они попадают?
  • Я попытался просмотреть события через perfview, я вижу события для своего приложения.При выводе xml события я вижу, что атрибут канала установлен в 0. Как я могу увидеть имя, соответствующее номеру каждого канала?

1 Ответ

0 голосов
/ 22 декабря 2018

вам необходимо установить свойство Channel атрибута Event следующим образом:

[EventSource(Name = "Samples-EventSourceDemos-EventLog")]
public sealed class MinimalEventSource : EventSource
{
    public static MinimalEventSource Log = new MinimalEventSource();
    [Event(601, Channel = EventChannel.Admin,  Message = "Unhandled exception occurred. Details: {0}", Keywords = EventKeywords.None, Level = EventLevel.Critical)]
    private void UnhandledException(string exceptionMsg)
    {
        this.IsEnabled().Dump();
        this.WriteEvent(601, exceptionMsg);
    }
}

Channel 0 означает None, см. docs :

Admin16 Канал журнала администратора.
Analytic 18 Канал аналитики.
Debug 19 Канал отладки.
Нет 0 Канал не указан.
Оперативный 17 Операционный канал.

Но, AFAIK, вам все еще нужно зарегистрировать свой источник событий, см. этот документ

...