如何在Azure Service Fabric中查看跟踪日志及迁移应用日志
最简Service Fabric环境查看ILogger日志的方式
刚好有过类似的迁移经验,结合你基于Microsoft.Extensions.Logging.ILogger的日志实现,给你按简易程度排序的几种方案:
1. 直接用Service Fabric Explorer(SFX)看实时日志
这是零额外配置的最快捷方式,因为你的ILogger代码默认会把日志输出到进程的标准输出/错误流,而Service Fabric会自动捕获这些流。操作步骤:
- 打开你的Service Fabric集群的SFX(通常是
http://<集群地址>:19080/Explorer) - 导航到你的应用→目标服务→具体的服务实例
- 切换到
Logs标签页,就能看到实时的日志输出,和Azure Web Apps的LogStream体验几乎一致 - 如果是容器化部署的服务,同样在SFX里找到对应容器实例,查看容器日志即可
2. 集成Azure Monitor Application Insights(推荐长期使用)
既然已经用了ILogger抽象,只需要几步就能把日志同步到App Insights,方便长期存储、搜索和分析:
- 安装NuGet包:
Microsoft.Extensions.Logging.ApplicationInsights - 在你的服务启动代码(比如Program.cs)中,配置ILogger时添加Application Insights提供程序:
builder.Logging.AddApplicationInsights( configureTelemetryConfiguration: config => config.ConnectionString = "<你的App Insights连接字符串>", configureApplicationInsightsLoggerOptions: options => { } ); - 之后就能在Azure门户的App Insights资源中,通过
Logs(Kusto查询)页面搜索、筛选你的应用日志,还能设置告警、做日志分析
3. 本地开发调试用Visual Studio输出窗口
如果你在本地开发调试Service Fabric服务,直接用Visual Studio的输出窗口就能查看日志:
- 启动调试后,打开Visual Studio的
Output窗口 - 在窗口顶部的下拉菜单中选择
Service Fabric,就能看到服务实例输出的ILogger日志,和调试Web Apps时看控制台日志的体验完全一致
注:如果需要批量收集历史日志,Service Fabric还有官方的日志收集工具,但操作相对复杂,上面三个是日常排查最简便的方案。
内容的提问来源于stack exchange,提问作者Matt B
相关产品推荐
相关产品推荐

