azure - 如何在 Azure Service Fabric 中查看跟踪日志记录

标签 azure azure-service-fabric

我有一个现有应用程序,正在从 Azure Web Apps 迁移到 Service Fabric。我有很多使用 Microsoft 的 Microsoft.Extensions.Logging.ILogger 抽象的应用程序特定日志记录代码,该抽象提供了适当的提供程序(控制台、azure Web 应用程序),为我提供了控制台和 LogStream 输出。效果很好。

使用 Service Fabric 时查看这些应用程序日志的最简单方法是什么?

最佳答案

您可以使用EventFlow捕获日志并将其转发到目标存储(例如 ApplicationInsights)。 您仍然可以使用现有的 ILogger 或将其替换为使用 ETW。

例如,如果您想写入日志进行跟踪,并且它们捕获跟踪信息以转发到另一个存储,您必须:

添加对包Microsoft.Diagnostics.EventFlow的引用

创建 eventFlowConfig.json 文件来定义输入和输出:

{
    "inputs": [
        {
            "type": "Trace",
            "traceLevel": "Warning"
        }
    ],
    "outputs": [
        {
            "type": "ApplicationInsights",
            "instrumentationKey": "00000000-0000-0000-0000-000000000000"
        }
    ]
}

使用 EventFlow 管道包装 Web 应用程序初始化:

  using (var pipeline = DiagnosticPipelineFactory.CreatePipeline("eventFlowConfig.json"))
    {
        //App initialization goes here
        System.Diagnostics.Trace.TraceWarning("EventFlow is working!");
        Console.ReadLine();//this will be replaced by your webHost start
    }

您可以有很多输入,因此如果您还想监视 ETW 事件,也可以将其添加到输入列表中。

关于azure - 如何在 Azure Service Fabric 中查看跟踪日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49541431/

相关文章:

azure - 部署在 Azure Service Fabric 上的项目中的终结点名称

azure - 将节点添加到 Service Fabric 群集

从 Azure 构建管道部署 Azure Function App : 'credentials' cannot be null

c# - 计算来自两个Azure函数应用程序的两个服务总线主题之间的时间跨度指标

azure - Dynamics 365(通过 Azure 数据工厂)到 Azure SQL Server 之间的数据传输存在时区差异

azure-service-fabric - 如何停止服务结构应用程序升级?

azure - Windows Azure 辅助角色实例是一个完整的 VM 吗?

mongodb - 使用 Azure Cosmos DB 进行 Hangfire

azure-service-fabric - 通过 RDP 远程进入 SF 节点

c# - 用于获取控制台、Web 应用程序和 Service Fabric 微服务的配置参数的共享函数