【问题标题】:How do I configure Serilog for multiple Environments appsettings.json如何为多个环境 appsettings.json 配置 Serilog
【发布时间】:2021-09-02 19:26:21
【问题描述】:

我正在尝试配置 appsettings.json,以便为我们的每个环境(Dev、UAT、Prod 等)拥有多个 Serilog 变量我有以下适用于 dev 的 serilog:

    "Serilog": {
  "MinimumLevel": "Verbose",
  "Using": [
    "Serilog.Sinks.Console",
    "Serilog.Sinks.Seq"
  ],
  "WriteTo": [
    {
      "Name": "Console"
    },
    {
      "Name": "Seq",
      "Args": {
        "serverUrl": "https://seq-dev.test.com"
      },
      "Properties": {
        "Application": "Console.Sample",
        "Environment": "Local"
      }
    }
  ]
},

我目前的解决方案是拥有一个 Serilog 实例数组。我将把一个 arg 传递给 main ,具体说明我想要哪个环境,我应该使用那个 Seq 实例(例如:args: Environment="d" for dev - 这应该拉 dev Serilog)

    "d": {
  "Serilog": {
    "MinimumLevel": "Verbose",
    "Using": [
      "Serilog.Sinks.Console",
      "Serilog.Sinks.Seq"
    ],
    "WriteTo": [
      {
        "Name": "Console"
      },
      {
        "Name": "Seq",
        "Args": {
          "serverUrl": "https://seq-dev.test.com"
        },
        "Properties": {
          "Application": "Console.Sample",
          "Environment": "Local"
        }
      }
    ]
  }
},
"q": {
  "Serilog": {
    "MinimumLevel": "Verbose",
    "Using": [
      "Serilog.Sinks.Console",
      "Serilog.Sinks.Seq"
    ],
    "WriteTo": [
      {
        "Name": "Console"
      },
      {
        "Name": "Seq",
        "Args": {
          "serverUrl": "https://seq-dev.test.com"
        },
        "Properties": {
          "Application": "Console.Sample",
          "Environment": "Local"
        }
      }
    ]
  }
},

【问题讨论】:

    标签: asp.net-core configuration serilog seq seq-logging


    【解决方案1】:

    这更像是configuration 的事情。

    你需要为每个环境指定一个appsettings json

    应用程序将使用的那个由这个 ENV 变量决定

    【讨论】:

    • 感谢 Paul 的快速回答!这更像是一个实用程序应用程序,基本上会根据提供的命令行参数随时对每个环境执行 ping 操作。它不像这样将托管在开发环境中,它只会影响开发。因此,我不确定环境变量是正确的解决方案。有没有办法根据命令行参数设置环境变量?或者通过命令行“dev”、“prod”等指定要使用的应用程序 settings.json?非常感谢
    • 这是一个 asp.net 核心应用吗?或控制台.net 核心应用程序?在任何情况下,两者都会有一段代码来处理 appsettings.json 的读取。我想你只是在那里设置你的变量逻辑
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多