如何在Azure Service Fabric

时间:2018-03-28 18:12:20

标签: azure azure-service-fabric

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

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

1 个答案:

答案 0 :(得分:1)

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

例如,如果您希望将日志写入跟踪并捕获跟踪信息以转发到另一个存储,则必须:

添加对包Microsoft.Diagnostics.EventFlow

的引用

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

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

使用EventFlow管道包装webapp初始化:

  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事件,也可以将其添加到输入列表中。