log4net не регистрируется, когда исполняемый файл запускается из автозагрузки, но работает нормально при запуске вручную - PullRequest
0 голосов
/ 23 апреля 2019

log4net не генерирует файл журнала и не записывает журналы в файл при запуске приложения из реестра.Но когда приложение выполняется вручную, файлы создаются.

Раздел реестра запуска создается по пути «[HKEY_LOCAL_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Run».Когда пользователь входит в систему, приложение должно запускаться автоматически.Иметь отдельный файл log4net.config для всей конфигурации журнала. Файл журнала создается в пользовательском перемещаемом профиле.Вещи пытались: 1. Я пытался сохранить в некотором общем пути, например, (C: \ logs \ app), но журналы не создаются.2. Запустите .exe из командной строки как из пользовательского контекста, так и с правами администратора. Не использовать.

Log4net Config

 <log4net>
     <appender name="RollingLogFileAppender" 
       type="log4net.Appender.RollingFileAppender">
     <file value="${APPDATA}\app\app.txt"/>
     <appendToFile value="true" />
     <rollingStyle value="Date"/>
     <rollInterval value="Week"/>
     <DatePattern value="'.'yyyy-MM-dd'.log'"/>
     <rollSizeKB value="50000"/>
     <preserveLogFileNameExtension value="true" />
     <countDirection value="1" />
     <staticLogFileName value="true" />
     <layout type="log4net.Layout.PatternLayout">
     <conversionPattern value="[%date{dd MMM yyyy HH:mm:ss}] [%-5level] 
     [%-5.70logger] - %message%newline"/>
     </layout>
    </appender>
    <root>
     <level value="ALL" />
     <appender-ref ref="RollingLogFileAppender" />
    </root>
   </log4net>

Инициализация конфигурации

log4net.Config.XmlConfigurator.Configure(new FileInfo("log4net.config"));

Iожидайте увидеть файл журнала по пути C: \ Users [Пользователь] \ AppData \ Roaming \ app \ app.txt ", но его там нет. Любая помощь в этом отношении высоко ценится.

...