У меня есть следующая конфигурация, использующая log4net. Проблема в том, что регистратор в моем коде C# теперь регистрирует ошибки в двух файлах журнала. У меня есть два разных класса обслуживания в одной службе Windows. Я инициализировать регистратор в одном сервисе, используя следующую строку:Предотвращение записи Log4Net во все файлы журнала
private static readonly ILog _logger = LogManager.GetLogger(typeof(EmployeeImportService));
Но когда эта услуга работает и журналы, он пишет для обоих файлов журнала.
<log4net>
<appender name="LogFileAppender" type="log4net.Appender.FileAppender">
<param name="File" value="C:\Temp\HRFiles\Sharp\Log\Log.txt" />
<param name="AppendToFile" value="true" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c %m%n" />
</layout>
</appender>
<appender name="OvertimeLogFileAppender" type="log4net.Appender.FileAppender">
<param name="File" value="C:\Temp\HRFiles\YTD\Log\Log.txt" />
<param name="AppendToFile" value="true" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c %m%n" />
</layout>
</appender>
<root>
<level value="ALL" />
<appender-ref ref="LogFileAppender" />
<appender-ref ref="OvertimeLogFileAppender" />
</root>
</log4net>
Как его настроить, чтобы каждая служба записывала в свой собственный файл журнала? Я читал, что тег logger в конфигурации имеет атрибут аддитивности, который решает эту проблему, но у меня нет элемента logger в моей конфигурации.
http://stackoverflow.com/questions/2763740/log4j-log-output-of-a-specific-class-to-a-specific-appender –
Это ссылки на решение log4j. Я не знаю, совпадает ли это с log4net. Кроме того, я ищу решение, которое создается через файл конфигурации. – Ray