как зарегистрировать имя метода при использовании класса обертки с Log4net

Мы настаиваем на документах на получение изменения и сценарии определения основных данных. Они проверяются в CVS наряду с любым другим исходным кодом. МН / SQL (были, является магазин Oracle), также источник, которым управляют в CVS. Сценарии изменения повторяемы и могут быть переданы всем в команде. В основном просто потому что это - база данных, никогда нет оправдания не кодировать его и использовать систему управления исходным кодом для отслеживания изменений.

9
задан Wahid Bitar 8 March 2014 в 07:56
поделиться

1 ответ

Я не думаю, что вы можете легко исправить это с помощью готового log4net. Если мы посмотрим на метод ILog.Info в классе LogImpl , который вы вызываете:

    virtual public void Info(object message) 
    {
        Logger.Log(ThisDeclaringType, m_levelInfo, message, null);
    }

Когда сообщение регистрируется, log4net будет проходить трассировку стека текущего вызова, чтобы найти метод, инициировавший операцию журнала. Для этого Log4net использует тип «ThisDeclaringType» в качестве границы поиска, первый вызов «вышеуказанных» вызовов в этом типе выбирается в качестве инициирующего метода.

В вашем случае первым встреченным методом является метод logEvent. Если вы отбросили оболочку logEvent и напрямую использовали методы ведения журнала, вы получите желаемую информацию.

1
ответ дан 4 December 2019 в 11:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: