我们在C
中开发了Azure函数V3
。我们尝试将一些自定义事件、依赖项
等记录到Azure Application Insights
。我们无法使用遥测客户端登录app insights。代码运行良好,没有任何错误。此外,可以查看从配置文件检索到的仪表键
。但是,Ilogger
日志可以在app insights traces表中找到。请查找我们使用的以下代码,
public class CommunityCreate
{
private readonly TelemetryClient telemetryClient;
public CommunityCreate(TelemetryConfiguration telemetryConfiguration)
{
this.telemetryClient = new TelemetryClient(telemetryConfiguration);
}
[FunctionName("Function1")]
[return: ServiceBus("sample", Connection = "ServiceBusProducerConnection")]
public async Task<string> Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = "Account/{id:int?}")] HttpRequest req, string id, ILogger log)
{
//log.LogInformation("C# HTTP trigger function processed a request.");
DateTime start = DateTime.UtcNow;
string name = req.Query["name"];
string requestBody = await new StreamReader(req.Body).ReadToEndAsync();
dynamic data = JsonConvert.DeserializeObject(requestBody);
name = name ?? data?.name;
var evt = new EventTelemetry("Function called");
evt.Context.User.Id = name;
this.telemetryClient.TrackEvent(evt);
// Generate a custom metric, in this case let's use ContentLength.
this.telemetryClient.GetMetric("contentLength").TrackValue(req.ContentLength);
// Log a custom dependency in the dependencies table.
var dependency = new DependencyTelemetry
{
Name = "GET api/planets/1/",
Target = "swapi.co",
Data = "https://swapi.co/api/planets/1/",
Timestamp = start,
Duration = DateTime.UtcNow - start,
Success = true
};
dependency.Context.User.Id = name;
this.telemetryClient.TrackDependency(dependency);
telemetryClient.TrackEvent("Ack123 Recieved");
telemetryClient.TrackMetric("Test Metric", DateTime.Now.Millisecond);
return name;
}
}
请确保您使用了以下正确的软件包:
微软蔚蓝色的WebJobs。登录中。ApplicationInsights,3.0版。18
和
更新软件包Microsoft。网Sdk。功能
最新版本3.0。9
如果您在本地运行项目,请在local中添加
,如下所示:APPINSIGHTS\u INSTRUMENTATIONKEY
。设置。json
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "xxxx",
"FUNCTIONS_WORKER_RUNTIME": "dotnet",
"APPINSIGHTS_INSTRUMENTATIONKEY": "xxx"
}
}
或者如果您在Azure门户上运行它,请使用Azure函数配置应用程序见解。
然后我测试了您的代码,自定义事件或依赖项被正确地记录到Application insights中。以下是截图:
如果您仍然有问题,请让我知道(也请提供更多细节)。
我已经创建了一个触发Azure功能的服务总线,并希望在应用程序洞察中记录自定义事件。 我只能看到该日志记录在跟踪中。但自定义事件和度量不记录到应用程序洞察中。知道会发生什么吗?
有什么想法会出什么问题吗?
这只是一个每分钟都会运行半个小时的测试函数。 这似乎部分工作,因为我可以看到一些遥测在AI但不是自定义事件。例如,我可以看到每次运行时都会出现一个请求,以及在WebJob初始化期间的各种跟踪。 我可能没有正确配置某些内容,或者没有以正确的方式获取,但是我找不到任何关于在WebJobs中跟踪自定义事件的文档。 如有任何帮助,我们将不胜感激。
问题内容: 我有一个dropwizard应用程序,在该应用程序中,我配置了logger附加程序,使其文件如下: 并且,在我的应用中创建了记录器: 在main()中进行一些测试记录: 该应用程序启动并运行没有问题。但是我没有在stdout或mylogs.log文件中得到任何日志(当然,除了Jetty访问日志之外,这些日志也已正确打印到mylogs.log中)。相反,如果我删除configuratio
我想通过创建遥测初始化器为azure函数定制application insight配置。我当前的工作范围是确定一种方法,将从HTTP触发的azure函数发送的消息与另一个HTTP触发的azure函数相关联,为此,我试图遵循dzimchuk.net上的帮助。但是,我在我的azure函数项目中没有看到ApplicationInsights.config。我找到了包含app insight配置文件的Gi