如何使用环境变量覆盖ASP.NET Core配置阵列设置

詹姆斯·斯基明

TL; DR

在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"
    }
  }
}

部署后,我想覆盖某些设置,例如MinimumLevel和日志文件的路径。我的首选方法是在部署到Azure App Service时通过环境变量来执行此操作,因此,我将通过Azure管理门户使用App设置(这些被实现为环境变量)。

我可以通过添加名称为的环境变量和应用程序名称来轻松设置MinimumLevelSerilog:MinimumLevelSerilog:Properties:Application

用数组指定设置的格式是什么?

詹姆斯·斯基明

在调试器中查看配置后,我找到了答案。

  • Serilog__WriteTo__0__Args__path (所有平台)
  • Serilog:WriteTo:0:Args:path (视窗)
  • Serilog--WriteTo--0--Args--path (来自Azure Key Vault)

注意:ASP.NET Core文档中配置现在涵盖了这一点。

因此,我需要使用数组索引(从零开始),就好像它是一个名称一样。

这也是调试器的屏幕截图,(感谢注释中的Victor Hurdugaci),单元测试是查找示例的好地方。

调试器中的配置

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从ASP.NET Core的Main()内部获取环境变量?

来自分类Dev

如何为 Angular 2 和 ASP.NET Core MVC 共享环境变量

来自分类Dev

使用ASP.NET 5在Mac中设置自定义环境变量

来自分类Dev

在.NET Core中使用环境变量指定布尔变量

来自分类Dev

使用设置配置ASP.NET Core

来自分类Dev

.NET Core配置的环境变量与构建配置

来自分类Dev

如何在 .NET systemd 服务中设置环境变量?

来自分类Dev

使用vnext(ASP.NET 5 RC1 Update1)在Mac中设置托管环境变量

来自分类Dev

如何从ASP.Net Core配置文件合并多个阵列?

来自分类Dev

如何使用Chef设置环境变量?

来自分类Dev

如何使用Node设置环境变量?

来自分类Dev

从ASP.NET Core 1 RC1 IConfiguration访问环境变量

来自分类Dev

ASP.NET Core中的环境变量之间有什么区别?

来自分类Dev

从ASP.NET Core 1 RC1 IConfiguration访问环境变量

来自分类Dev

在 Asp.Net Core 中从 web.config 读取环境变量

来自分类Dev

ASP.NET Core 应用程序中的环境变量

来自分类Dev

如何设置环境变量?

来自分类Dev

如何设置环境变量?

来自分类Dev

如何设置环境变量?

来自分类Dev

.NET Core-Azure部署任务中的设置环境变量

来自分类Dev

带有实体框架的 ASP.NET Core - 代码优先迁移不会读取我的环境变量

来自分类Dev

如何使用lua设置bash环境变量

来自分类Dev

如何使用Shell脚本设置Java环境变量

来自分类Dev

如何使用C#设置环境变量Path

来自分类Dev

如何使用Puppet在Ubuntu OS中设置环境变量

来自分类Dev

如何设置使用Powershell可以随时访问的环境变量?

来自分类Dev

如何设置环境变量以与TCC一起使用?

来自分类Dev

如何使用sudo -u USER设置环境变量?

来自分类Dev

如何为使用`nohup`执行的程序设置环境变量?

Related 相关文章

  1. 1

    如何从ASP.NET Core的Main()内部获取环境变量?

  2. 2

    如何为 Angular 2 和 ASP.NET Core MVC 共享环境变量

  3. 3

    使用ASP.NET 5在Mac中设置自定义环境变量

  4. 4

    在.NET Core中使用环境变量指定布尔变量

  5. 5

    使用设置配置ASP.NET Core

  6. 6

    .NET Core配置的环境变量与构建配置

  7. 7

    如何在 .NET systemd 服务中设置环境变量?

  8. 8

    使用vnext(ASP.NET 5 RC1 Update1)在Mac中设置托管环境变量

  9. 9

    如何从ASP.Net Core配置文件合并多个阵列?

  10. 10

    如何使用Chef设置环境变量?

  11. 11

    如何使用Node设置环境变量?

  12. 12

    从ASP.NET Core 1 RC1 IConfiguration访问环境变量

  13. 13

    ASP.NET Core中的环境变量之间有什么区别?

  14. 14

    从ASP.NET Core 1 RC1 IConfiguration访问环境变量

  15. 15

    在 Asp.Net Core 中从 web.config 读取环境变量

  16. 16

    ASP.NET Core 应用程序中的环境变量

  17. 17

    如何设置环境变量?

  18. 18

    如何设置环境变量?

  19. 19

    如何设置环境变量?

  20. 20

    .NET Core-Azure部署任务中的设置环境变量

  21. 21

    带有实体框架的 ASP.NET Core - 代码优先迁移不会读取我的环境变量

  22. 22

    如何使用lua设置bash环境变量

  23. 23

    如何使用Shell脚本设置Java环境变量

  24. 24

    如何使用C#设置环境变量Path

  25. 25

    如何使用Puppet在Ubuntu OS中设置环境变量

  26. 26

    如何设置使用Powershell可以随时访问的环境变量?

  27. 27

    如何设置环境变量以与TCC一起使用?

  28. 28

    如何使用sudo -u USER设置环境变量?

  29. 29

    如何为使用`nohup`执行的程序设置环境变量?

热门标签

归档