Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json 如何在ASP.NET 5.0中添加log4net(或任何其他第三方库)的配置_Json_Configuration_Log4net_Asp.net Core_Asp.net Core Mvc - Fatal编程技术网

Json 如何在ASP.NET 5.0中添加log4net(或任何其他第三方库)的配置

Json 如何在ASP.NET 5.0中添加log4net(或任何其他第三方库)的配置,json,configuration,log4net,asp.net-core,asp.net-core-mvc,Json,Configuration,Log4net,Asp.net Core,Asp.net Core Mvc,我在上阅读了Scott Gu的博客,博客中提到的一个新功能是使用json文件作为Web.config文件的配置和删除 我对这个特性没有什么疑问 假设我有下面的log4net配置,它是以前在ASP.NET的早期版本中添加到Web.Config的 配置文件 <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /> <log4net debug="true

我在上阅读了Scott Gu的博客,博客中提到的一个新功能是使用json文件作为Web.config文件的配置和删除

我对这个特性没有什么疑问

假设我有下面的log4net配置,它是以前在ASP.NET的早期版本中添加到Web.Config的

配置文件

<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />

<log4net debug="true">
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
  <file value="C:\\TestProj\\TestLog.txt" />
  <appendToFile value="true" />
  <rollingStyle value="Size" />
  <maxSizeRollBackups value="10" />
  <maximumFileSize value="10MB" />
  <staticLogFileName value="true" />
  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%-5p %d %5rms %-22.22c{1} %-18.18M - %m%n" />
  </layout>
</appender>

<root>
  <level value="DEBUG" />
  <appender-ref ref="RollingLogFileAppender" />
</root>
</log4net>

如何在config.json中添加节

如何转换上述xml并将其添加到config.json


第三方库(在我的示例中是log4net)或库用户是否必须添加某种类型的自定义转换api以支持基于json的配置,以便利用ASP.NET 5.0中提供的新配置功能?

log4net的当前版本不支持json项目,因此,配置需要在一个单独的xml文件中。

最近,我在
log4net
中遇到了同样的问题。我成功地做到了以下几点:

创建包含log4net配置部分的
log4net.xml
文件

<?xml version="1.0" encoding="utf-8" ?>
<log4net>
...
</log4net>

我希望这会有所帮助。

您能否提供一个示例,说明该文件应放在何处、应命名、应包含哪些内容以及如何将其添加到配置系统(在Startup.cs文件中)?Yp,您可能需要将其标记为输出文件,以便将其包含在已发布的应用程序中。
public Startup(IApplicationEnvironment appEnv)
{
    // ... 

    XmlConfigurator.Configure(new FileInfo(Path.Combine(appEnv.ApplicationBasePath, "log4net.xml")));
}