2010-06-19 2 views
1

просто пытается быстро подняться.NLog. singleton и call class/method/thread

2 вопросов ..

Мое намерение иметь одноплодной класс, чтобы сделать NLog доступными для всего приложения .. это правильный подход.

Как записать источник, т. Е. Класс .. Способ .. поток и т. Д. Записи в журнале.

ответ

4

Что бы ваш синглтон сделал точно?

Одним из преимуществ библиотек, таких как NLog (и log4j и т. Д.), Является то, что при регистрации он будет регистрироваться с соответствующим регистратором классов, что означает, что вы можете правильно настроить ведение журнала. Если у вас был синглтон с одним экземпляром Logger, вы сразу же потеряете это преимущество. Я бы рекомендовал использовать технику, показанную в документации, где каждый класс имеет свой собственный регистратор.

Что касается излучающие имя класса и т.д., посмотрите на layout renderers странице Документов, которая имеет много вариантов: {callsite} и {threadid} может быть то, что вы после этого.

+0

Вы говорите: создайте экземпляр Nlog в каждом классе, в который хотите войти. Тогда он знает, из какого класса он вызывается? Я, хотя синглтон будет означать, что он только экземпляр один раз .. У меня есть ощущение, что я запутался в том, как его использовать .... – Adam

+0

Создайте экземпляр 'Logger' в каждом классе, в котором вы хотите его использовать, да ... затем просто войдите через этот регистратор. Да, вы в конечном итоге создадите больше экземпляров, но в интересах мелкозернистой конфигурации. Это не похоже на то, что он будет загружать всю сборку отдельно для каждого экземпляра 'Logger', который вы создаете ... –

+0

Jon .. Я нахожу, что ваши ответы очень полезны. Быстрое ускорение быстро расстраивает .. страница рендеринга решила мою проблема ... Но, создав отдельный экземпляр журнала в каждом классе, я запишу ... что такое финишный контроль, который у меня есть? вы говорите в основном, что я могу включить ведение журнала только для определенного класса .. есть ли другие преимущества. ТАКЖЕ .. видя, что вы так полезны. У вас есть один или может быть 3 приложения на ПК. Я хочу войти в систему. Если я не отправлю их в файл журнала .. каким образом вы бы сохранили их .. И какой зритель вы использовали бы, чтобы пробираться через журналы? – Adam