[英]asp.net core 2.1 ConfigurationBuilder GetSection function return null
[英]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.json
和appsettings.Development.json
覆蓋了基本appsettings.json
文件中的設置。 並且系統在開發模式下使用它。 您可以在appsettings.Development.json
文件中更改默認appsettings.Development.json
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.