Я пытаюсь использовать решение, которое я собрал из нескольких других ответов здесь. В основном я пытаюсь использовать один файл конфигурации log4net для решения, имеющего несколько проектов.Реализация одного конфигурационного файла log4net для нескольких проектов
Вот мой конфигурационный файл:
<?xml version="1.0" ?>
<log4net>
<appender name="FileMonitorAppender" type="log4net.Appender.FileAppender">
<file type="log4net.Util.PatternString" value="C:\Documents and Settings\user1\My Documents\My Box Files\FOBS\logs\Box File Monitor %date{MM.dd.yyyy'_'hh.mm.ss''}.txt" />
<appendToFile value="true"/>
<layout type="log4net.Layout.PatternLayout">
<header value="[START: Box File Monitor Run %date]%newline" type="log4net.Util.PatternString" />
<conversionPattern value="%date{HH:mm:ss} - %-5level- %message%newline" />
<footer value="[END: Box File Monitor Run]" />
</layout>
</appender>
<root>
<level value="ALL"/>
<appender-ref ref="FileMonitorAppender" />
</root>
</log4net>
и вот где я звоню регистратор в коде:
private static readonly ILog _log = LogManager.GetLogger("Duke.Mobile.FileMonitorAutomation.FileMonitor");
и у меня есть это в сборке вызывающего который должен настроить регистратор:
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Log4Net.config", Watch = true)]
у меня есть файл log4net.config в папку решения и затем его добавляется в вызывающую сборку в виде связанного файла. Когда приложение запускается, оно никогда не попадает в конфигурацию. Я видел пару подобных проблем, но он никогда не настраивается именно таким образом, надеясь, что кто-то может помочь.
Может быть, эта ссылка поможет вам ..http: //stackoverflow.com/questions/17874999/log4net-for-windows-service/ 17875059 # 17875059 –
Я понял, что это немного больше, чем я думал. У меня есть проект, который реализует log4Net в решении, как описано выше, а затем настройте проект развертывания, где он выглядит, он действительно ищет файл для настройки. Поскольку я использую связанный файл, я думаю, мне нужно выяснить, как ссылаться на него из проекта S & D. Основная цель здесь - иметь один файл конфигурации, который можно прочитать из всех отдельных проектов. – TrevorGoodchild
Выяснил мою проблему. При использовании связанного файла конфигурации для log4net, в рамках проекта службы Windows, в процессе создания файла конфигурации необходимо установить значение «Содержимое» в свойствах файла. Оттуда, в проекте развертывания, файл должен быть включен в вывод проекта. – TrevorGoodchild