You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Web App自定义日志无法同步至Log Analytics?.NET Core配置排查

Azure Web App自定义Serilog日志采集到Log Analytics工作区解决方案

问题分析

你配置Serilog将自定义格式日志写入Azure Web App的../../LogFiles/Application/diagnostics-.txt路径,且开启了诊断设置,但AppServiceAppLogs表无数据,核心原因是Azure默认仅识别特定格式的应用日志,自定义格式无法自动解析到默认表,需通过调整格式或配置自定义日志采集解决。

步骤1:确认基础配置正确性

  • 验证日志文件生成情况:通过Kudu站点(https://<你的应用名>.scm.azurewebsites.net/)的Debug Console > PowerShell,导航到D:\home\LogFiles\Application,确认diagnostics-*.txt文件存在且有日志内容。
  • 检查诊断设置:在Azure门户的Web App诊断设置中,确认已勾选应用日志文件,目标设置为你的Log Analytics工作区,同时日志路径填写为D:\home\LogFiles\Application\diagnostics-*.txt(用通配符匹配按日滚动的日志文件)。

步骤2:适配默认日志表(快速方案)

若无需保留自定义字段(ApplicationName、Version等),可修改Serilog的outputTemplate为Azure默认识别的格式,日志将自动进入AppServiceAppLogs表:

"outputTemplate": "[{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz}] [{Level:u3}] {SourceContext}: {Message}{NewLine}{Exception}"

修改后重新部署应用,等待10-15分钟即可在Log Analytics中查询AppServiceAppLogs表。

步骤3:自定义日志采集(保留自定义字段)

若需保留所有自定义字段,需在Log Analytics工作区配置自定义日志采集:

  1. 进入Log Analytics工作区,左侧菜单选择自定义日志,点击添加自定义日志。
  2. 上传你的日志示例文件,选择按行分割日志,点击下一步。
  3. 定义字段提取规则:使用正则表达式匹配你的日志格式,示例正则:
    ^\[(?<Timestamp>.*?)\] \[(?<ApplicationName>.*?)\] \[(?<Version>.*?)\] \[(?<Environment>.*?)\] \[(?<ClientAgent>.*?)\] \[(?<CorrelationId>.*?)\] \[(?<Level>.*?)\] \[(?<SourceContext>.*?)\] (?<Message>.*?)(?<Exception>.*)?$
    
    系统会自动提取Timestamp、ApplicationName等字段,可按需调整正则表达式。
  4. 配置日志源路径:在收集路径中填写D:\home\LogFiles\Application\diagnostics-*.txt,选择Windows作为操作系统,点击下一步。
  5. 为自定义日志表命名(如CustomDiagnosticsLogs),完成配置。

步骤4:验证采集效果

等待10-15分钟后,在Log Analytics工作区运行Kusto查询验证:

CustomDiagnosticsLogs_CL
| take 10
| project Timestamp, ApplicationName, Level, Message

额外排查点

  • 权限检查:确认Web App的系统分配标识(或手动配置的标识)拥有Log Analytics工作区的参与者或日志写入者权限。
  • Serilog写入验证:检查Serilog是否有写入异常,可查看Kudu中的D:\home\LogFiles\Application目录下是否有Serilog相关错误日志。
  • 滚动文件名确认:由于你设置了rollingInterval": "Day",Serilog生成的文件名应为diagnostics-yyyyMMdd.txt,确保诊断设置中的路径通配符匹配正确。

内容的提问来源于stack exchange,提问作者RL33

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 05:16:34