Linux服务器中的dotnet核心的log4net日志记录不起作用

时间:2020-04-06 12:06:08

标签: asp.net-core logging log4net log4net-configuration .net-core-3.1

我正在尝试为Linux服务器的dotnet核心应用程序添加log4net日志记录。但是,日志记录不起作用。我正在Windows 10上使用Linux的Windows子系统。我的log4net配置是:

<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");

但是这不起作用,并且不会写入日志。另外,在控制器中调用此操作时,它表示连接在一段时间后超时。如果我不添加此代码,则该应用程序将正常运行。可能是什么问题?

0 个答案:

没有答案