运行log4net的问题

时间:2016-12-06 15:19:00

标签: c# json asp.net-core log4net

我正在尝试在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文件路径。

我可以改变什么来使这件事能正常运作?

1 个答案:

答案 0 :(得分:0)

嗯,问题最终是这样的:

XmlConfigurator.Configure()位于我自己的记录器中,记录器在Startup.cs中添加了.AddSingleton。似乎logger试图在app.config中找到log4net.config键(它不再存在),结果就是这个问题了。

我更改了配置调用和繁荣,没有更多错误......