捕获 Google App Engine 日志输出

3 投票
2 回答
1206 浏览
提问于 2025-04-16 16:15

怎样才能在管理控制台之外查看Google App Engine的日志呢?

我正在开发中,所以我使用dev_appserver.py和管理控制台,想要实时查看日志记录。

我希望能在一个控制台里用标准的Unix工具,比如less、grep等,来监控日志输出,但似乎没有办法直接从dev_appserver.py命令中把日志导出,而且我不能在GAE中打开新文件(比如FileHandler),所以文件处理器不行,我觉得用socket/udp处理器可能有点过于复杂(如果这甚至可行的话)。

我希望还有其他方法可以查看日志。

谢谢你的阅读。

2 个回答

2

你可以使用 appcfg.py 中的 request_logs 参数来下载日志。

点击这里查看详细信息

补充说明:这个人想出了通过 XMPP 发送日志的方法。他的解决方案是针对 GAE Java 的,但可以调整为适用于 Python。

点击这里访问相关网站

点击这里查看 GAE XMPP 日志记录器

5

默认的日志记录器会把日志输出发送到 stderr,也就是错误输出。你可以用你所用的命令行工具的方法,把 stderr 重定向到一个文件里(比如在 tcsh 中,你可以用 (dev_appserver.py > /dev/tty) >& your_logfile.txt,不过你用的命令行可能会不一样)。

如果你发现程序是在本地运行的(可以通过 os.environ['SERVER_SOFTWARE'].startswith('Dev') 来判断),你还可以使用 Python 的 logging 模块,把日志直接发送到一个文件里。

撰写回答