Лучшая практика использования широкого приложения Tracesource
-
28-10-2019 - |
Вопрос
Таким образом, у меня есть приложение, в котором я буду использовать трассировку для регистрации активности/ошибок приложения и т. Д. Это приложение будет иметь много классов.
Как лучше всего использовать Tracesource в этом случае? Должен ли я создать класс тестирования Singleton Testsource или есть лучший способ сделать это?
Решение
Я в некоторой степени согласен с @Valdis - log4net и NLOG - два примера очень мощных фреймворков журнала, которые обеспечивают большую гибкость и относительно простые в использовании конфигурации (NLOG, вероятно, легче настроить, чем log4net). Тем не менее, я не думаю, что это необходимо, чтобы полностью избежать Tracesource. Tracesource встроен, так что вы избегаете дополнительной зависимости.
Если вы используете Tracesource, я не думаю, что один статический объект Tracesource с широким приложением - это путь. Я бы порекомендовал использовать больше трассоров, возможно, даже один на класс (это может быть излишним, но является общим шаблоном при использовании log4net и nlog).
Я поместил больше подробностей в ответ на ваш другой вопрос о том, когда использовать более одного трасеса в приложении.
Другие советы
Вы строги в использовании встроенной инфраструктуры событий и регистрации .NET ?NET? Я бы посоветовал использовать некоторые из 3 -й стороны (например, журнал из Enterprise Library). Это более гибкие, более настраиваемые, и у вас нет таких головных задних веществ - вы просто пишете:
Logger.Write(...)