phi*_*hil 6 azure-application-insights azure-functions
我有一个配置了应用程序见解的Azure功能应用程序。我的函数中包含一些LogTrace()消息,但AppInsights并未捕获它们。我是否必须在某处配置最低日志级别?
Bla*_*len 16
为了进一步添加@Ivan Yang 的出色回答,您可以在 Azure Functions 的 v2 中指定每个函数的最低日志记录级别。(我还没有验证它是否在 v1 中有效/无效)使用他的例子host.json:
{
"version": "2.0",
"logging": {
"fileLoggingMode": "always",
"logLevel": {
"default": "Information",
"Host.Results": "Error",
"Function": "Trace",
"Function.FunctionA": "Warning",
"Host.Aggregator": "Trace"
}
}
}
Run Code Online (Sandbox Code Playgroud)
Function.FunctionA假设您有一个名为(通过FunctionName属性)“FunctionA”的函数,例如:
[FunctionName("FunctionA")]
public static async Task<IActionResult> Run([HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "")]HttpRequest req, ILogger log)
{
...function code here
}
Run Code Online (Sandbox Code Playgroud)
因此,您在FunctionName属性中指定的任何值都可用于为该函数显式定义最小日志级别。在host.json上面的示例中,默认情况下,所有函数的最低日志级别为 ,Trace而 FunctionA 的最低日志级别为Warning。
请查看这篇文章,了解如何为功能v1或v2设置日志级别。
在文件中host.json,对于“功能”字段,将其值设置为“跟踪”。然后可以将LogTrace()登录到应用程序见解中。
host.jsonAzure函数v2的示例,该函数可以将跟踪消息记录到Application Insights:
{
"version": "2.0",
"logging": {
"fileLoggingMode": "always",
"logLevel": {
"default": "Information",
"Host.Results": "Error",
"Function": "Trace",
"Host.Aggregator": "Trace"
}
}
}
Run Code Online (Sandbox Code Playgroud)
而且,如果您使用Visual Studio发布功能应用程序,则可以在发布之前按照上述说明修改host.json文件。
并且,如果您想更改Azure门户中的日志级别,请遵循以下步骤:
在Azure门户中,导航到功能应用程序->在功能应用程序设置中,确保启用“读/写”,然后更改日志级别以在中跟踪host.json。
我在 azure 门户中看不到任何 host.json 文件,但我可以从应用程序设置(环境变量)更新它。要替换默认日志级别设置键AzureFunctionsJobHost__logging__LogLevel__Default和值Trace/ Debug/Information或任何你想要的。就像是我在我的host.jsonDefault是Trace,但在蔚蓝它Information。因此,只需AzureFunctionsJobHost__logging__LogLevel__为日志级别的所有键添加新的环境变量(应用程序设置)和前缀并设置所需的值,您的主机设置将被覆盖。
你可以在这里阅读更多
| 归档时间: |
|
| 查看次数: |
2574 次 |
| 最近记录: |