Log4net: создание журнала - PullRequest
       4

Log4net: создание журнала

4 голосов
/ 02 апреля 2012

ребята. У меня есть вопрос относительно использования регистраторов в log4net. При выборе между регистратором для класса (статическое поле только для чтения) и регистратором для экземпляра (поле только для чтения), какой подход лучше? Лично, единственный недостаток, который я вижу, когда веду регистратор на класс, это его экземпляр:

log4net.LogManager.GetLogger(
        System.Reflection.MethodBase.GetCurrentMethod().DeclaringType

Не очень хорошо выглядит из-за отражения. Если я создаю регистратор следующим образом:

log4net.LogManager.GetLogger(typeof(MyClass))

есть вероятность, что случайно я сделаю ошибки копирования / вставки и вместо typeof (MyClass) я могу предоставить typeof (SomeOtherClass) , что плохо.

При использовании регистратора для каждого экземпляра я могу использовать:

log4net.LogManager.GetLogger(this.GetType())

Этот подход не использует отражение и не содержит ошибок копирования / вставки.

Есть ли другие мысли по этому поводу?

1 Ответ

4 голосов
/ 02 апреля 2012

Помимо того, что было бы лучше использовать внедрение зависимостей, я думаю, что ваш подход хорош.Я сам использовал этот подход в прошлом.

...