Jam*_*ing 42 configuration serilog .net-core asp.net-core
在ASP.NET Core应用程序中,我有一个appsettings.json配置文件,它使用JSON数组来配置一组设置.
如何使用环境变量覆盖其中一个数组对象的设置?
背景
我使用serilog在ASP.NET核心应用,并使用Serilog.Settings.Configuration,允许它使用进行配置appsettings.json.
配置是这样的:
{
"Serilog": {
"Using": ["Serilog.Sinks.Literate"],
"MinimumLevel": "Debug",
"WriteTo": [
{ "Name": "File", "Args": { "path": "%TEMP%\\Logs\\serilog-configuration-sample.txt" } }
],
"Enrich": ["FromLogContext", "WithMachineName", "WithThreadId"],
"Properties": {
"Application": "Sample"
}
}
}
Run Code Online (Sandbox Code Playgroud)
部署时,我想覆盖一些设置,例如MinimumLevel,以及日志文件的路径.我首选的选项是在我部署到Azure应用服务时通过环境变量执行此操作,因此我将通过Azure管理门户使用应用程序设置(这些实现为环境变量).
我可以通过添加名称为的环境变量和应用程序名称来轻松设置MinimumLevel.Serilog:MinimumLevelSerilog:Properties:Application
使用数组指定设置的格式是什么?
Jam*_*ing 53
在查看调试器中的配置后,我找到了答案.
Serilog:WriteTo:0:Args:path
所以我需要使用数组索引(基于零),就好像它是一个名称.
在调试器的屏幕截图下面,如果它有帮助,也(在评论中感谢Victor Hurdugaci),单元测试是查找示例的好地方.
| 归档时间: |
|
| 查看次数: |
8578 次 |
| 最近记录: |