【问题标题】:how to add configuration for log4net (or any other 3rd party library) in ASP.NET 5.0如何在 ASP.NET 5.0 中为 log4net(或任何其他 3rd 方库)添加配置
【发布时间】:2015-03-04 03:47:20
【问题描述】:

我在 ASP.NET 5.0 features 上阅读 Scott Gu 的博客,博客中提到的新功能之一是使用 json 文件作为 Web.config 文件的配置和消除。

我对这个功能有几个问题。

假设我有以下以前版本的 ASP.NET 中添加到 Web.Config 的 log4net 配置

配置文件

<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?

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

【问题讨论】:

    标签: json configuration log4net asp.net-core asp.net-core-mvc


    【解决方案1】:

    最近我遇到了与log4net 相同的问题。我设法做到以下几点:

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

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

    您可以将文件放在项目根文件夹中。

    Startup.Startup() 方法中,您可以配置log4net,提供xml 作为配置:

    public Startup(IApplicationEnvironment appEnv)
    {
        // ... 
    
        XmlConfigurator.Configure(new FileInfo(Path.Combine(appEnv.ApplicationBasePath, "log4net.xml")));
    }
    

    我希望这会有所帮助。

    【讨论】:

    • 是的,您可能需要将其标记为输出文件,以便将其包含在已发布的应用程序中。
    【解决方案2】:

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

    【讨论】:

    • 您能否提供一个示例,说明该文件应放置在何处、应命名什么、应包含什么以及如何将其添加到配置系统中(在 Startup.cs文件)?
    猜你喜欢
    • 2018-12-04
    • 2016-07-10
    • 2010-12-31
    • 2013-09-30
    • 2014-11-20
    • 2021-06-19
    • 1970-01-01
    • 2015-03-02
    • 2017-04-01
    相关资源
    最近更新 更多