Не будет ли проще (читай лучше) использовать log4net во всех ваших проектах и библиотеках. Таким образом, проекты могут указать, как они хотят регистрировать материал, и регистрация вашей общей библиотеки будет просто слушать проект.
Если у вас есть настраиваемый регистратор для вашей общей библиотеки, вы в конечном итоге будете иметь общие журналы в одном месте, а журналы приложений (проектов) в другом месте.
Например, вы можете посмотреть на NHibernate или Castle ActiveRecord. Обе они могут рассматриваться как «общие утилиты» (они делают ваш доступ к данным). Они оба используют log4net. Таким образом, используя их в своем проекте и используя log4net в качестве регистратора проекта, вы можете указать, что все ваши данные журналов отправляются в одно место.
Если вы хотите, вы можете настроить различные регистраторы по-разному. Чтобы регистрировать ваши общие журналы на уровне INFO и журналы вашего проекта на ОШИБКЕ.
Я только что нашел другой вопрос по отслеживанию журналирования VS, кажется, он в глубине души. Посмотрите на это. Может быть, это поможет.
Трассировка и логирование и как в нее входит log4net?