- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的函数应用程序 (v2) 中,我有一个函数probe,用于测试应用程序的运行状况,每隔几秒调用一次。我想停止将该特定函数的任何内容记录到 Application Insights。
函数probe看起来像这样:
using System;
using System.IO;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Logging;
using Newtonsoft.Json;
using MyApp.Api.Hello;
namespace MyApp.Api
{
public static class HealthFunctions
{
[FunctionName("probe")]
public static IActionResult Probe(
[HttpTriggerAttribute(AuthorizationLevel.Anonymous, "get")] HttpRequest request,
ILogger logger)
{
return new OkResult();
}
}
}
和host.json:
{
"version": "2.0",
"extensions": {
"http": {
"routePrefix": ""
}
},
"logging": {
"logLevel": {
"Function.probe": "Error",
"default": "Trace"
}
}
}
但是,我仍然在 Application Insights 中看到通过调用/probe 发送的遥测数据:
我做错了什么?
最佳答案
12/09 更新:
是的,您的评论是正确的,仍然有一些关于它的消息可以登录到应用程序洞察中。但是由 log.LogInformation()
方法记录的任何消息都不应该写入应用程序洞察中。
我发现另一种方法可以避免它,您可以为所有其他功能应用程序指定日志级别;但对于您不想记录到应用程序见解的函数应用程序,请勿为其指定日志级别。然后你可以将默认指定为无,这样就可以完全避免这个函数应用登录应用洞察。
这是一个例子:
我有 3 个函数应用,并且我不希望名为 HttpTrigger1 的函数登录应用程序洞察。因此,在 host.json 中,我将其他 2 个函数应用的 loglevel 指定为 Trace:BlobTrigger1 和 QueueTrigger1 。并将默认设置为无。
我这边的host.json:
{
"version": "2.0",
"extensions": {
"http": {
"routePrefix": ""
}
},
"logging": {
"logLevel": {
"Function.BlobTrigger1": "Trace",
"Function.QueueTrigger1": "Trace",
"default": "None"
}
}
}
截图:
它按预期工作,“HttpTrigger1”中的日志不会写入 Application Insights。
<小时/>要禁用从特定 azure 函数记录到应用程序见解的日志记录,您可以在 host.json 中将该 azure 函数的 logLevel 指定为 None(在您的情况下,它是 probe)强>)。示例 host.json 如下所示:
{
"version": "2.0",
"extensions": {
"http": {
"routePrefix": ""
}
},
"logging": {
"logLevel": {
"Function.probe": "None",
"default": "Trace"
}
}
}
那么只有名为“probe”的函数无法将数据发送到应用程序洞察。
这里有一点你应该注意,在指定的azure function -> Monitor中,创建了一个空日志(见下面的截图),这个“空日志”意味着没有日志写入application Insights(你可以只需在 Application Insights 中编写一个查询来确认这一点。我使用日志查询对其进行了测试,在 Application Insights 中没有显示该指定 Azure 函数的日志。
关于azure - 如何停止从 Azure Functions 中的特定函数发送遥测数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59131420/
用普通 Cordova 启动了一个项目。此消息不断出现: You have been opted out of telemetry. To change this, run: cordova tele
背景: 我正在处理一个非常古老的应用程序,它很少且间歇性地生成异常。 当前的做法: 通常我们程序员使用全局异常处理程序来处理罕见的未知数,像这样连接: [STAThread] [SecurityPer
我使用此代码通过 TelemetryClient 记录异常: var appInsightsRoleName = "tracking"; var telemetry = new ExceptionTe
Android 版本。 > 4.3标准安卓信标库估计信标。Eddystone-UID包遥测包。 我正在尝试从 Eddystone-UID 包传输的遥测包中读取温度传感器传输。根据 Android Be
我按照此 Microsoft article 设置了使用 Azure 的 Application Insights 在 IIS 上运行的本地 .NET 应用程序 。而且效果一直很好。 据我了解,这是一
我刚刚 fork 了新的 mapbox 库并试图将它作为一个模块添加到我的项目中。主要问题是 gradle 在同步时出错,因为我无法访问遥测 2.0.0-SNAPSHOT Error:Could no
我想在 Application Insights 的请求事件中包含 header ,并找到了以下帖子,其中包含针对具有 HttpContext 的应用程序的解决方案。我正在使用 Nancy 应用程序,
我需要使用遥测向 QnA 用户发送有关我的 Azure 机器人见解的问题和答案。已经尝试过本教程: https://docs.microsoft.com/en-us/azure/bot-service
我是 Azure Application Insights 的长期用户,并且经常使用 TelemetryClient 的 TrackTrace() 和 TrackException()我编写的每个企业
我们在 AKS 中托管了一个小型 API,它是使用 .Net core 2.2 编写的。它一直运行良好,我们已经在 Azure 门户中看到了我们所有的 App Insights 遥测数据,如预期的那样
我是一名优秀的程序员,十分优秀!