如何跳过已有日志直接使用az webapp log tail跟踪App Service实时日志?
跳过
az webapp log tail历史日志、直接跟踪实时新增内容的方法 针对命令默认输出存量历史日志的行为,可以通过以下方案实现和原生tail -f完全一致的跟踪效果:
方案1:使用CLI内置参数跳过初始日志(推荐)
Azure CLI从2.40.0版本开始提供专门的控制参数,开启后会在建立日志流式连接时,直接跳过应用服务日志缓冲区存储的存量历史条目,仅输出连接建立后新增的实时日志:
- 执行的命令格式:
az webapp log tail --name <应用服务名称> --resource-group <所属资源组名称> --skip-initial-content
注意:低版本CLI如果识别不到该参数,可先执行
az upgrade完成版本升级后再使用。
方案2:低版本CLI通过管道过滤历史输出
如果暂时无法升级CLI,可以利用日志流的固定输出标记过滤内容。az webapp log tail在加载完所有历史日志、正式进入实时跟踪状态时,一定会输出固定提示文本Streaming logs connection established,只要跳过这行之前的所有内容,即可达到跳过历史日志的效果:
- Linux/macOS bash环境使用的命令:
az webapp log tail --name <应用服务名称> --resource-group <资源组名称> | sed -n '/Streaming logs connection established/,$p' - Windows PowerShell环境使用的命令:
az webapp log tail --name <应用服务名称> --resource-group <资源组名称> | Select-String -SkipUntil "Streaming logs connection established"
可选优化
如果不需要跟踪全量类型的日志,可以搭配--type参数指定需要跟踪的日志类型,例如使用--type application跟踪应用自定义输出日志、--type http跟踪HTTP请求访问日志,减少不必要的冗余输出。
内容的提问来源于stack exchange,提问作者stena
相关产品推荐
相关产品推荐

