我目前使用Azure Application Insights来登录我所有的Web API和MVC应用程序。显然,这种日志记录的大部分都是自动的,这很好。对于我想手动捕获的事件,我实现了一个"LoggingUtility“,它有像"LogError”和"LogInformation“这样的方法,它们只是简单地调用Trace.TraceError和Trace.TraceInformation (我的想法是,日志记录的实现将来可以在一个地方更改)。然后,Application Insights会捕获该跟踪。
我已经开始在Azure Service Fabric中开发一些有状态服务,但似乎找不到使用Application Insights的方法。我偶然发现了几篇文章,指出了一个NuGet包,该包处于预发布阶段,但现在已被删除(https://www.nuget.org/packages/Microsoft.ServiceFabric.Telemetry.ApplicationInsights/)。
当然,Service Fabric模板会生成"ServiceEventSource“,但首先,我看不出这对Application Insights有什么用处,理想情况下,我希望所有日志记录都通过我的"LoggingUtility”类完成。
是否可以将Application Insights集成到Service Fabric中?如果是这样,我是否可以继续使用跟踪(通过我的"LoggingUtility“类)?
发布于 2016-08-08 16:52:25
你有两个选择: 1.在你的LoggingUtility类中使用Application Insights SDK直接向AI发送信息2.使用Windows Azure Diagnostics (WAD)将EventSource跟踪转发到AI,使用SF项目模板中提供的Eventsource类。您可以将该类修改为您的LoggingUtility类实现。
考虑到您在Azure中运行您的SF集群,第二种方法是当前的推荐方法,因为Service Fabric系统服务事件也使用事件跟踪。
要将Azure Diagnostics配置为AI,请遵循本文中概述的步骤:https://azure.microsoft.com/en-us/blog/azure-diagnostics-integration-with-application-insights/
请注意,本文的目标是云服务和VM,但仅使用用于配置Azure Diagnostics的VM Scale集,而不是VM。这应该行得通。
发布于 2016-08-19 07:18:23
我们使用了新的Microsoft.Extentions.Logging,并编写了一个洞察力记录器-它通过跟踪获取服务结构消息,我们还提取了所有没有添加太多内容的ETW内容。
https://stackoverflow.com/questions/38817452
复制相似问题