Фон
Я пишу сборку библиотеки классов в С#.NET 3.5, которая используется для интеграции с другими приложениями, включая сторонние инструменты Commercial-Off-The-Shelf (COTS). Поэтому иногда эта библиотека классов вызывается приложениями (EXE), которые я управляю, в то время как другие вызовы будут вызываться другими DLL или приложениями, которые я выполняю не.
Предположения
- Я использую С# 3.0,.NET 3.5 SP1 и Visual Studio 2008 SP1
- Я использую log4net 1.2.10.0 или выше
Ограничения
Любое решение должно:
- Разрешить библиотеке классов включать и настраивать ведение журнала через собственный файл конфигурации, если вызывающее приложение не настраивает log4net.
- Разрешить библиотеке классов включать и настраивать ведение журнала через конфигурацию вызывающих приложений, если она указывает информацию log4net
ИЛИ
- Разрешить библиотеке классов включать и настраивать ведение журнала с использованием собственного файла конфигурации в любое время.
Проблема
Когда моя автономная библиотека классов вызывается DLL или приложением, которое я не контролирую (например, сторонним инструментом COTS) и которое не указывает информацию о конфигурации log4net, моя библиотека классов не может его регистрации.
Вопрос
Как настроить и включить log4net для самостоятельной сборки библиотеки классов, чтобы он регистрировался независимо от того, предоставляет ли вызывающее приложение конфигурацию log4net?