Лучшие практики ведения журнала
Я должен присоединиться к asp-net хору, рекомендующему log4net, в log моем случае исходя из гибкости tracing платформы (настольный .Net .net-framework / Compact Framework, 32/64-разрядная logging версия).
Однако использование logging API частной марки - это серьезный антишаблон. log4net.ILogger
уже aspdotnet является аналогом .Net оболочки asp.net Commons Logging API, поэтому связь уже минимизирована tracing для вас, и, поскольку это asp-net также библиотека Apache, это log обычно даже не проблема, потому tracing что вы не отказываетесь ни logger от чего control: при необходимости log создайте вилку.
Большинство dotnet домашних библиотек-оболочек, которые logger я видел, также допускают aspdotnet одну или несколько ошибок:
- Использование глобального одноэлементного регистратора (или, что эквивалентно, статической точки входа), которое теряет высокое разрешение рекомендуемого logger-per-class pattern без какого-либо другого увеличения селективности.
- Отсутствие необязательного аргумента
Exception
, приводящее к множеству проблем:- Это еще больше усложняет поддержку политики ведения журнала исключений, поэтому с исключениями ничего не происходит согласованно.
- Даже при последовательной политике при форматировании исключения в строку преждевременно теряются данные. Я написал собственный декоратор
ILayout
, который выполняет подробную детализацию исключения для определения цепочки событий.
- Отсутствие доступа к свойствам
IsLevelEnabled
, что исключает возможность пропуска кода форматирования, когда области или уровни ведения журнала отключены.
.net
asp.net
logging
trace
Лучшие практики ведения журнала
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.