问题描述
根据Apache log4net™ Manual - Configuration - appSettings,我将这两行添加到我的 web.config 中,以查看我的 log4net.config 文件的更改(例如,在运行时更改日志级别...)
<appSettings>
<add key="log4net.Config" value="log4net.config"/>
<add key="log4net.Config.Watch" value="True"/>
</appSettings>
不幸的是,它不起作用,因此无需重新启动应用程序即可应用日志级别的更改。我正在使用 ASP.Net Core 5.0,该应用程序使用 appSettings.json 而不是 web.config。
解决方法
使用 Microsoft.Extensions.Logging.Log4Net.AspNetCore,就这么简单:
services.AddLogging(logging =>
{
logging.AddLog4Net(new Log4NetProviderOptions { Watch = true });
});
或者在您的情况下:
services.AddLogging(logging =>
{
logging.AddLog4Net("log4net.config",true);
});