Настройка текста в столбце "Источник" средства просмотра событий (EventLog)
Можно ли записать в столбец Источник в окне просмотра событий мой требуемый источник?
(вместо ".NET Runtime"?)
И если да, то как?
2 ответа
Я искал в меню "Пуск" "запустить", открыл его, в текстовом поле я написал "regedit" и нажал "ОК".
Теперь я попал в папку "eventlog", щелкнул правой кнопкой мыши по папке "Application", выбрал "New => Key", а затем назвал его как имя моего проекта (что будет отображаться в столбце "Source" в Event Viewer).
Затем просто напишите в коде: logName.Source = "MySource";
Теперь это будет работать только на локальном хосте. Если вы хотите, чтобы он тоже работал на сервере - просто снова откройте "Выполнить" на сервере так же, как вы это делали в первый раз, но теперь он не откроет напрямую то, что нам нужно, поэтому вы должны отслеживать те же папки, которые содержат папку "Приложение" (вы точно найдете ее в том же месте, что и на локальном компьютере), и добавьте свой источник тем же способом.
Удачи!
Вы можете настроить прослушиватель трассировки EventLogTraceListener программно:
var tl = new EventLogTraceListener("MyEventLogSource");
Trace.Listeners.Add(tl);
или используя app/web.config:
<system.diagnostics>
<trace autoflush="true">
<listeners>
<add
name="EventLogger"
type="System.Diagnostics.EventLogTraceListener"
initializeData="MyEventLogSource" />
</listeners>
</trace>
</system.diagnostics>
и затем, когда вы отслеживаете что-то, он будет использовать настроенные слушатели трассировки:
Trace.TraceInformation("some info");
Имейте в виду, что вам нужны специальные разрешения для создания пользовательских слушателей трассировки. Если пользовательский источник не существует в EventLog, предыдущий код попытается создать его и потерпит неудачу, если у него нет достаточных разрешений. Таким образом, при развертывании приложения можно создать прослушиватель трассировки в качестве администратора, особенно если это приложение работает под учетной записью с низкими привилегиями, например с приложением ASP.NET.