Настройка текста в столбце "Источник" средства просмотра событий (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.

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