Различия между использованием log4net, ETW и TraceLogging

Я использовал Debug.WriteLine для отладки существующего устаревшего приложения, чтобы найти поток программы. Сейчас я изучаю приложение, основанное на событиях (сообщениях), которое содержит несколько служб, реагирующих на события. Он использует множество облачных (например, Azure) ресурсов.

Я пытаюсь понять различные системы ведения журнала ETW (Event Tracing For Windows), TraceLogging и log4Net и т. д. Какая из них поддерживает регистрацию системных исключений (особенно исключений, исходящих от облачных служб или ресурсов). ), программные исключения, закодированное ведение журнала и т. д.


person wonderful world    schedule 08.06.2015    source источник


Ответы (1)


С помощью ETW вы также можете собирать данные ядра и видеть, как ваш код влияет на использование ЦП и диска. Вы также можете собирать стеки вызовов для событий ETW (стек вызовов для событий режима ядра в Vista, а также событий пользовательского режима, начиная с Windows 7).

Поставщик .Net Runtime ETW Provider вызывает исключения, когда вы активируете ведение журнала с помощью ключевого слова ExceptionKeyword. Я уже разместил профиль, который активирует стеки вызовов для исключений, событий сборки (не) загрузки здесь, в Stack Overflow. Здесь вы можете увидеть стек вызовов для исключений.

Преимуществом ETW является его высокая производительность по сравнению с другими методами регистрации. Также ведение журнала отключено до тех пор, пока вы явно не активируете прослушивание событий, а захваченный ETL-файл можно будет передать на другие устройства и там проанализировать.

person magicandre1981    schedule 09.06.2015