Понимание того, как работает трассировка в C#
Я пытаюсь понять, как работает трассировка
Я создал простой новый веб-проект. Это мой код, который я могу использовать
// Create a trace listener for the event log.
EventLogTraceListener myTraceListener = new EventLogTraceListener("myEventLogSource");
// Add the event log trace listener to the collection.
Trace.Listeners.Add(myTraceListener);
// Write output to the event log.
Trace.WriteLine("Test output");
Я принимаю помощь от этого msdn link
настройки в web.конфигурация выглядит следующим образом
<system.diagnostics>
<trace autoflush="false" indentsize="4">
<listeners>
<add name="myListener"
type="System.Diagnostics.EventLogTraceListener"
initializeData="TraceListenerLog" />
</listeners>
</trace>
</system.diagnostics>
однако, когда я запускаю этот код, я не знаю, где происходит это ведение журнала, я проверяю средство просмотра событий в разделе "Журнал приложений и служб", я ожидал, что будет новый журнал создано с именем "myEventLogSource", но этого не произошло.
пожалуйста, кто-нибудь может объяснить мне, как это работает.
1 ответов
в журнале приложений проверьте, есть ли у вас два источника, которые записывались в журнал приложений, один-TraceListenerLog, а другой-myEventLogSource. Новый журнал не будет создан, они оба будут использовать журнал приложений. Если вы хотите создать новый журнал и хотите записать в него вывод трассировки, вы можете сделать это так (конечно, имя журнала не должно быть равно имени источника):
string logSource = "_myEventLogSource";
if (!EventLog.SourceExists(logSource))
EventLog.CreateEventSource(logSource, logSource);
EventLogTraceListener myTraceListener = new EventLogTraceListener(logSource);
// Add the event log trace listener to the collection.
System.Diagnostics.Trace.Listeners.Add(myTraceListener);
// Write output to the event log.
System.Diagnostics.Trace.WriteLine("Test output");
даже если источник не будет существовать, информация трассировки получит записывается в журнал событий в журнале приложений с именем источника, переданным конструктору EventLogTraceListener.