У меня есть файл log4net.xml
в корне моего решения. Свойство файла для копирования в bin установлено в Always copy
. Я подтвердил, что файл копируется в каталог bin.Почему файл конфигурации log4net не читается
В конфигурации я настроил файл Appender (в основном копия пасты из документации):
<appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
<file value="Logs\\log.log" />
<appendToFile value="true" />
<rollingStyle value="Date"/>
<datePattern value="yyyyMMdd-HHmmss" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>
У меня также есть эта линия в AssemblyInfo.cs
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.xml", Watch = true)]
и регистраторы устанавливаются например, в файлах кода:
private static ILog LOGGER = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
Я добавил log4net.Config.XmlConfigurator.Configure();
(а также с параметром FileInfo
) к основному Program.cs
тоже.
Однако, если я запустил программу, ожидаемый файл журнала не будет создан. Я подозреваю, что log4net даже не читает файл конфигурации.
Я что-то упустил? Выполнение изнутри VS также не работает (хотя как-то он набирает часть Console Appender).
Похожие сообщения:
- StackOverflow question 1 - не применимо
- StackOverflow question 2 - не применимо
- StackOverflow question 3 - соответствует уже
Спасибо заранее.
EDIT
Так что я получил эту работу в VS выбрасыванием копировать/вставить часть из документации:
<root>
<level value="DEBUG" />
<appender-ref ref="A1" />
</root>
Однако, работает от ехе до сих пор не работает
Это может быть проблема с путём - у вас есть «Logs \\ log.log» в confing, и, вероятно, это должно быть «Logs \ log.log» - не нужно выходить из \ в значение файла конфигурации , – Tim
Разрешения могут также вступить в игру - пользователь, запускающий программу, должен создать файл и записать доступ, чтобы иметь возможность успешно регистрироваться в файле – dbugger