njdcjk Ответов: 2

Файл журнала Log4net не создается после установки windows serivce


Привет,
Я использую log4net с сервисом windows.
В app.config у меня есть такой код...

configsections
    section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" 
  configsections
  log4net
    appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender"
      file value="ErrorLog\Log.txt" 
     
      appendtofile value="true" 
      rollingstyle value="Size" 
      maxsizerollbackups value="5" 
      maximumfilesize value="10MB" 
      staticlogfilename value="true" 
      layout type="log4net.Layout.PatternLayout"
        conversionpattern value="%date [%thread] %level %logger - %message%newline%exception" 
layout
    appender
    root
      priority value="ALL" 
      appender-ref ref="RollingFileAppender" 
    root
log4net


Он прекрасно работает.Файл журнала создается в папке debug в службе,если я устанавливаю и запускаю службу, она не работает.
Даже <значение файла="C:\ErrorLog\Log.txt"> прекрасно работает в обоих случаях.
Спасибо за любую помощь

ZurdoDev

Пожалуйста, нажмите кнопку улучшить вопрос и исправьте свой код.

2 Ответов

Рейтинг:
2

Mehdi Gholam

Службы Windows запускаются в каталоге WIN\SYSTEM32, поэтому перед инициализацией log4net установите CurrentDirectory к System.Reflection.Assembly.GetEntryAssembly().Location


njdcjk

как это установить

Mehdi Gholam

Каталог.SetCurrentDirectory(путь);

Рейтинг:
2

sharath19846

Я не могу записывать журналы в файл с помощью log4net в консольном приложении .net core после создания его в качестве службы windows, не могли бы вы сообщить мне причину, ниже приведен мой конфигурационный файл

<конфигурация>
<log4net debug="true">
<root>
<значение уровня="все">
<appender-ref ref="консоль">
<appender-ref ref="Файл">
   

<appender name="console" type="log4net.Приемщика.ConsoleAppender" requirepermission="false">
<тип макета="log4net.Расположение.PatternLayout">
&ЛТ;значение conversionpattern="%дата %уровень %регистратор - %сообщение%перевод строки"и GT;


<appender name="file" type="log4net.Приемщика.RollingFileAppender" requirepermission="false">
<значение файла="C:\ProgramData\Test\IC2Alarm\">
<staticlogfilename value="true">
<appendtofile value="true">
<rollingstyle value="композит">
<datepattern value="_dd-MM-yyyy".log"">
<maxsizerollbackups value="200">
<maximumfilesize value="5MB">
<тип макета="log4net.Расположение.PatternLayout">
&ЛТ;conversionpattern значение="%дата [%собственность{ApplicationProcessId}] [%резьбы] %уровень %регистратор - %сообщение%перевод строки"и GT;