Я изучаю возможность ведения журналов на моем сайте DNN 7+. Я хотел бы иметь настраиваемый уровень ведения журнала, например, предоставляемый log4net.
Я попытался выполнить инструкции по интеграции log4net, найденные на сайте DNN здесь, http://www.dnnsoftware.com/community-blog/cid/141723/Using-log4net-with-DotNetNuke. После добавления ссылки и строки кода для использования ведения журнала:
DnnLog.Info("My Logging Worked!");
Код сообщил о предупреждении, которое гласит:
'DotNetNuke.Instrumentation.DnnLog' устарел: '"Устарело в 7.0.1 из-за низкой производительности, используйте LoggerSource.Instance"'
Мне сложно найти информацию о том, как правильно поступать. Похоже, что «DnnLog» был заменен аналогичным классом для взаимодействия с log4net под названием «DnnLogger». Одно из отличий от использования этого класса (и класса «LoggerSource») заключается в том, что ведение журнала больше не выполняется с использованием статических методов.
Функция "GetLogger ()", используемая для получения экземпляра регистратора, принимает некоторые параметры, и мне пока не удалось найти какую-либо документацию, описывающую соответствующее использование. В источнике DNN есть множество примеров. Из этих примеров кажется, что подходящим использованием является предоставление текущего класса. Внутри файла «MyClass.cs», который объявляет класс «MyClass», кажется, что следующее будет правильным:
ILog logger = LoggerSource.Instance.GetLogger(typeof(MyClass));
or
DnnLogger logger = DnnLogger.GetLogger("MyClass");
Какой регистратор возвращает первая строка кода, в которой используется typeof ()? Под этим я подразумеваю, будет ли тогда этот регистратор использовать настройки log4net, настроенные для сайта? Если он не использует настройки log4net, где сохраняются файлы журналов и где настраиваются параметры конфигурации? Этот ботаник во мне хочет точно знать, что происходит с параметром класса typeof (), почему он используется?
Если первый пример не связан с log4net (или чем-то, что позволяет настраивать простой в использовании уровень ведения журнала), второй вариант - правильный путь? Если да, то какую строку нужно передать? «MyClass» было моим предположением, но я не мог подтвердить.
Если я полностью сбился с пути и должен подходить к этому с другой стороны, пожалуйста, не стесняйтесь вносить предложения.
Всем большое спасибо!