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