【问题标题】:Log all exceptions in service fabric application记录服务结构应用程序中的所有异常
【发布时间】:2019-08-14 14:21:14
【问题描述】:

我在 Azure Service Fabric 中有一堆后端服务,我想将任何未捕获的异常连同我的所有其他日志一起记录到 App Insights。 Azure Service Farbic 应用程序中是否有任何方法可以捕获所有未捕获的异常并在重新抛出它们之前记录它们?

【问题讨论】:

    标签: azure-service-fabric


    【解决方案1】:

    您使用的是 .net,因此您可以使用标准的 AppDomain 方法来处理所有未捕获的异常。使用this 事件。

    将以下行添加到您的 Program.cs 中,其中包含日志记录代码

     AppDomain.CurrentDomain.UnhandledException += (sender,e)
          => {
    //log exception
    
    };
    

    【讨论】:

    • 这永远不会捕获任何异常,可能是因为这是一个服务结构应用程序。如果我在应用程序的任何公共方法中执行 thow new Exception(),然后调用该方法,则错误不会在上面的代码中捕获。
    【解决方案2】:

    要向 Application Insights 发送应用程序/服务遥测数据,我强烈建议您查看 App Insights Service Fabric。它适用于:

    • 发送错误和异常信息
    • 使用您的所有服务及其依赖项(包括数据库)填充应用程序映射
    • 报告应用性能指标,以及
    • 端到端跟踪服务调用依赖关系,
    • 与本机和非本机 SF 应用程序集成

    如果您还对监控集群的整体运行状况(例如 CPU/内存以及节点何时启动/关闭)感兴趣,请查看 EventFlow 或此 github 项目

    【讨论】:

      猜你喜欢
      • 2010-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-23
      • 1970-01-01
      • 2016-08-30
      • 1970-01-01
      相关资源
      最近更新 更多