Моя цель — создать библиотеку log4net, которую можно будет использовать в нескольких проектах.
В моем решении, которое находится в .net 4.0, я создал библиотеку классов под названием Logger и сослался на нее из веб-проекта.
Теперь я создал файл logger.config в библиотеке классов и поместил всю конфигурацию в файл logger.config. Затем я использовал
[assembly: log4net.Config.XmlConfigurator(Watch = true, ConfigFile = "Logger.config")]
Когда я запускаю веб-приложение, ничего не регистрируется. Поэтому я добавил эту строку кода в web.config
<add key="log4net.Internal.Debug" value="true"/>
, которая дала мне информацию об отладке и информацию об ошибках
Не удалось найти раздел конфигурации «log4net» в файле .config приложения. Проверьте файл .config на наличие элементов и .Раздел конфигурации должен выглядеть следующим образом:
Я переместил конфигурацию из logger.config в web.config, и все работает нормально.
Мне не нужна конфигурация log4net в файле web.config, но я использую logger.config как более чистый подход. Цель состоит в том, чтобы другие проекты использовали эту библиотеку и не беспокоились о настройке в каждом проекте.
Теперь вопрос: как мне это сделать? Что я делаю неправильно? Любое предложение с примером кода будет полезно для всех.
К вашему сведению, я использую карту структуры IOC, чтобы изменить регистратор перед записью в него.