我可以“外包”appsettings.json 的 NLog 部分吗?

问题描述 投票:0回答:1

我为许多客户提供了一堆不同的 appsettings.json。然而,这些应用程序设置的 nLog 部分永远不会改变,所以我希望为 nLog 配置提供一个 json 文件。 所以我的 appsettings.json 中有类似以下内容:

"NLog": {
"configFile": "nlog.json"
}

有人知道一个或多或少简单的解决方案吗?

asp.net-core nlog appsettings
1个回答
0
投票

您可以尝试将部分提取到单独的文件中,并使用

ConfigurationBuilder
添加它,如下面的示例所示。

我有两个设置文件:

  • appsettings.nlog.dev.json
    - 所有应用程序设置
  • appsettings.dev.json
    - 具有单个
    NLog
    部分

这两个文件都需要复制到输出目录。

var config = new ConfigurationBuilder()
    .AddJsonFile("appsettings.dev.json", false)
    .AddJsonFile("appsettings.nlog.dev.json", false)
    .Build();

using var servicesProvider = new ServiceCollection()
          .AddLogging(loggingBuilder =>
          {
              // configure Logging with NLog
              loggingBuilder.ClearProviders();
              var nlogConfig = new NLogLoggingConfiguration(config.GetSection("NLog"));
              loggingBuilder.AddNLog(nlogConfig);
          }).BuildServiceProvider();
© www.soinside.com 2019 - 2024. All rights reserved.