如何使用来自 azure 应用程序设置或 azure 函数应用程序文件的 Serilog 配置?
How to use Serilog configuration from azure app setting or a file for azure function app?
我正在尝试将 serilog 添加到我的 azure 函数应用程序中。但是我无法从 local.settings.json 读取 serilog 配置,而且我找不到获取 serilog 配置 azure 应用程序设置的方法。
我喜欢从配置中读取设置,因为我的 serilog 设置是 environment/platform 特定的。
我在 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
中使用超过一级的设置,它将忽略整个 "Values" 部分。应该是这样的
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "",
"FUNCTIONS_WORKER_RUNTIME": "node",
"key1":"value1"
}
}
在 Azure 门户中,也只有键值格式。
您可以在this way
中的环境变量中获取这些设置
Environment.GetEnvironmentVariable("key")
所以解决方法是
1.you 读取并解析 json 文件。
2.use : 至 nest:keys:down
参考:
我正在尝试将 serilog 添加到我的 azure 函数应用程序中。但是我无法从 local.settings.json 读取 serilog 配置,而且我找不到获取 serilog 配置 azure 应用程序设置的方法。
我喜欢从配置中读取设置,因为我的 serilog 设置是 environment/platform 特定的。
我在 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
中使用超过一级的设置,它将忽略整个 "Values" 部分。应该是这样的
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "",
"FUNCTIONS_WORKER_RUNTIME": "node",
"key1":"value1"
}
}
在 Azure 门户中,也只有键值格式。
您可以在this way
中的环境变量中获取这些设置Environment.GetEnvironmentVariable("key")
所以解决方法是
1.you 读取并解析 json 文件。
2.use : 至 nest:keys:down
参考: