我正在尝试在ASP.NET Core应用程序中运行log4net,到目前为止遇到了一个问题。
我的appsettings.json
中有第二行"log4netConfig": "log4net\\logConfiguration.xml"
,这在Startup.cs
中log4net.Config.XmlConfigurator.ConfigureAndWatch(new FileInfo(string.Concat(env.ContentRootPath, @"\", loggingConfig["log4netConfig"])));
似乎工作,至少在本地机器上工作,但在发布后,我收到第二个错误:
Failed to find configuration section 'log4net' in the application's .config file. Check your .config file for the <log4net> and <configSections> elements. The configuration section should look like: <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
所以...据我所知,配置没有建立。
我也有包含XmlConfigurator.Configure()
的所有项目的手工制作记录器,这对于我理解的那些东西非常糟糕(它曾经正常工作,直到我需要在appsettings.json中移动log4net文件路径。
我可以改变什么来使这件事能正常运作?
答案 0 :(得分:0)
嗯,问题最终是这样的:
XmlConfigurator.Configure()
位于我自己的记录器中,记录器在Startup.cs中添加了.AddSingleton
。似乎logger试图在app.config中找到log4net.config键(它不再存在),结果就是这个问题了。
我更改了配置调用和繁荣,没有更多错误......