log 4net регистрация для do tnet core в linux сервер не работает - PullRequest
0 голосов
/ 06 апреля 2020

Я пытаюсь добавить log 4net logging для do tnet core application для linux server. Но регистрация не работает. Я использую подсистему Windows для linux для windows 10. Мой лог 4net config:

<log4net>
  <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
    <file value=".//var//log//Service//Service.log" type="log4net.Util.PatternString"/>
    <appendToFile value="true"/>
    <rollingStyle value="Size"/>
    <maxSizeRollBackups value="10"/>
    <maximumFileSize value="8MB"/>
    <staticLogFileName value="true"/>
    <countDirection value="1"/>
    <layout type="log4net.Layout.PatternLayout">
      <param name="ConversionPattern" value="[%d{yyyy-MM-dd hh:mm:ss}] - [%-5p] – %m%n"/>
    </layout>
  </appender>`
  <root>
    <level value="ALL"/>
    <appender-ref ref="RollingFileAppender"/>
  </root>
</log4net>

И код в контроллере:

private static readonly ILog log = LogManager.GetLogger(Assembly.GetEntryAssembly(), Assembly.GetEntryAssembly().ManifestModule.Name.Replace(".dll", "").Replace(".", " ")); 

А в действии контроллера:

var logRepository = LogManager.GetRepository(Assembly.GetEntryAssembly());
            XmlConfigurator.Configure(logRepository, new FileInfo("log4net.config"));
            log.Info("Testing log: hello");

Но это не работает и логи не пишутся. Кроме того, при вызове этого действия в контроллере он сообщает, что время соединения истекло через некоторое время. Если я не добавлю этот код, приложение будет работать как обычно. В чем может быть проблема?

...