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 ответ
Благодаря Мэттью Уотсону, который указал мне на направление этой статьи, решение проблемы содержится в:
* Не забудьте зарегистрировать свой EventSource, поскольку это шаг, который фактически создает записи в Event Viewer, требуется уникальное имя (если ваша компания / продукт уже имеет запись в Event Viewer для других целей, убедитесь, что вы используете новое имя).