根據部署環境動態配置NLog連線字串

目前維護的專案會根據執行環境使用對應的資料庫連線字串,因此NLog也需要能依據環境使用對應的連線字串。

在NLog.config中,資料庫連線字串的部分改為:

<connectionString>${gdc:item=LoggerDBConnectionString}</connectionString>

在Startup.cs的Configure中加入:

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
	...
	
	GlobalDiagnosticsContext.Set("LoggerDBConnectionString", Configuration.GetConnectionString("LoggerDB"));
	
	...
}

這樣就能根據不同的部署環境使用不同的連線字串

參考文章: