我将玩具程序部署到了在Google Compute Engine(GCE)上运行的VM实例上。该玩具程序碰巧会将格式化的错误消息记录到标准错误流(stderr)中。该VM实例启用了Stackdriver日志记录,并且我能够看到程序的一些错误消息与其他许多消息(可能由GCE本身生成的消息)交错。
是否可以过滤Stackdriver日志查看器以仅显示从我的VMs标准错误流发送的消息,以简化故障排除过程?
理想情况下,为简单起见,我宁愿不依赖任何客户端库。我曾考虑过创建一个过滤器以匹配可以从环境变量中注入的特殊唯一令牌,但是对于看似简单的任务(查看标准日志消息)来说,这似乎很复杂。
日志消息如下:
2018-10-20T16:03:31.262075836Z | listening for https at "localhost:443"
2018-10-20T16:03:31.257283434Z | foo
2018-10-20T16:03:32.012318385Z | bar
2018-10-20T16:03:38.119439321Z | ERROR: something bad happened
2018-10-20T16:03:38.127334354Z | FATAL: program terminated
答案 0 :(得分:1)
我建议您写一个Advanced Logs Filter。实际上,可以在Logs Viewer,Stackdriver Logging API或命令行界面中使用高级日志过滤器。而且,您可以使用special syntax指定要查看的确切日志。
此外,您还可以观看video的Google云端平台团队提供的高级过滤器。