У меня есть приложение, которое загружает подключаемые модули с отражением.Приложение определяет log4net-log-appender в app.config как:
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="logs\xxx.log" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="1MB" />
<staticLogFileName value="true" />
<threshold value="DEBUG" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger{2} - %message%newline" />
</layout>
</appender>
Я получаю Logger в коде как:
private static readonly ILog log = LogManager.GetLogger(typeof(Indexer));
Теперь я ищуспособ объявления разных лог-файлов для каждого модуля (сборки), который загружается как плагин с отражением.
Первая проблема заключается в том, что модули используют Business-Library-Classes вместе (они находятся в сборке, которая используется для всех модулей), которая также генерирует записи журнала.Эти записи также должны быть вставлены в лог-файл модуля.
Вторая проблема заключается в том, что я не знаю модулей во время разработки.Поэтому я не могу вставить некоторые конфигурации в app.config.