gpt4 book ai didi

azure-functions - 如何从 azure 应用程序设置或 azure 函数应用程序文件中使用 Serilog 配置?

转载 作者:行者123 更新时间:2023-12-04 09:43:46 24 4
gpt4 key购买 nike

我正在尝试将 serilog 添加到我的 azure 函数应用程序中。但是我无法从 local.settings.json 读取 serilog 配置,并且我找不到获取 serilog 配置 azure 应用程序设置的方法。

我喜欢从配置中读取设置,因为我的 serilog 设置是特定于环境/平台的。

我在我的startup.cs中添加了以下代码

    var config = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("local.settings.json", true, true)
.AddEnvironmentVariables()
.Build();

var logger = new LoggerConfiguration()
.ReadFrom.Configuration(config)
.CreateLogger();

在 local.settings.json 我有 serilog 配置细节。
"Serilog": {
"MinimumLevel": {
"Default": "Verbose"
},
"WriteTo": [
{
"Name": "Seq",
"Args": { "serverUrl": "http://DEV01:5341" }
},
{
"Name": "Logentries",
"Args": { "Token": "ABCDXYZ" }
},
{
"Name": "Console"
}
]
}

谢谢你。

最佳答案

Azure 门户中的应用程序设置或 local.settings.json 中的值只接受 Dictionary<string, string>格式。如果您在 local.settings.json 中使用多个级别的设置,它将忽略整个“值”部分。它应该是这样的

{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "",
"FUNCTIONS_WORKER_RUNTIME": "node",
"key1":"value1"
}
}

在 Azure 门户中,也只有键值格式。

enter image description here

您可以在 this way 中的环境变量中获取这些设置。
Environment.GetEnvironmentVariable("key")

所以解决方法是

1.你阅读并解析json文件。

2.use : to nest:keys:down

引用:

Azure Function Read local.settings.json to object

azure application settings - how to add nested item

关于azure-functions - 如何从 azure 应用程序设置或 azure 函数应用程序文件中使用 Serilog 配置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62211960/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com