簡體   English   中英

asp.net 核心日志記錄不遵循 ConfigurationBuilder 層次結構

[英]asp.net core Logging not following the ConfigurationBuilder hierarchy

我正在嘗試配置 asp.net 核心應用程序的日志級別。 我在 Startup 類中設置了這個 ConfigurationBuilder。

         var builder = new ConfigurationBuilder()
            .SetBasePath(env.ContentRootPath)
            .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
            .AddJsonFile("ConfigFiles/appsettings.configs.json", optional: true, reloadOnChange: true)
            .AddEnvironmentVariables();

        Configuration = builder.Build();

然后即使我在“ConfigFiles/appsettings.configs.json”文件中配置了 LogLevel,如下所示:

  "Logging": {
    "LogLevel": {
      "Default": "Information"
    }
  }

它只是被忽略了。 相反,它總是直接從“appsettings.json”(根文件)中讀取,無論如何。 我什至試圖注釋掉配置它的代碼行,令人驚訝的是它仍然從那里讀取。 我知道這是因為我故意在 LogLevel 配置中插入了一個錯誤,它會引發錯誤。 對於其他配置,它可以正常工作,從兩個文件中讀取。 看起來“日志記錄”機制靜態指向根 appsettings.json 文件。 我如何使它從另一個文件而不是根文件中讀取?

謝謝

編輯:框架版本:.net Core 3.0

文檔

當您使用CreateDefaultBuilder初始化新的主機構建器時,會自動調用AddJsonFile兩次。 調用該方法以從以下位置加載配置:

appsettings.json – 首先讀取此文件。 文件的環境版本可以覆蓋 appsettings.json 文件提供的值。

appsettings.{Environment}.json – 根據 IHostingEnvironment.EnvironmentName 加載文件的環境版本。

有兩個配置文件appsettings.jsonappsettings.Development.json覆蓋了基本appsettings.json文件中的設置。 並且系統在開發模式下使用它。 您可以在appsettings.Development.json文件中更改默認appsettings.Development.json

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM