Я знаю, что по переполнению стека уже задано много вопросов по log4net, но они не могут решить мою конкретную проблему.
Для моего приложения используется приведенная ниже конфигурация log4net.
<log4net>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="E:\Logs\" />
<datePattern value="yyyy-MM-dd'_APP.log'" />
<appendToFile value="true" />
<immediateFlush value="true" />
<rollingStyle value="DATE" />
<staticLogFileName value="false" />
<maxSizeRollBackups value="10" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date||%2thread||%-5level||%logger||%message%newline" />
</layout>
</appender>
</log4net>
Я пропустил некоторые неинтересные части. При использовании этой конфигурации приложение не регистрируется на рабочем сервере. На моем локальном ПК для разработки он работает нормально. Когда я включаю режим отладки log4net, я вижу, что он не может получить доступ к каталогу "E: \ Logs \", потому что доступ запрещен.
Я уже добавил все необходимые разрешения в эту папку. Теперь вот часть, которую я не понимаю. После некоторой отладки я обнаружил, что добавление чего-либо после тега \ неожиданно работает. Таким образом, конфигурация ниже работает нормально.
<log4net>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="E:\Logs\x" />
<datePattern value="yyyy-MM-dd'_APP.log'" />
<appendToFile value="true" />
<immediateFlush value="true" />
<rollingStyle value="DATE" />
<staticLogFileName value="false" />
<maxSizeRollBackups value="10" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date||%2thread||%-5level||%logger||%message%newline" />
</layout>
</appender>
</log4net>
Это создает файл журнала x2018-11-07_APP.log, но я не хочу добавлять x ...
Может кто-нибудь объяснить мне, почему он так себя ведет?
Спасибо!