捕获 Google App Engine 日志输出
怎样才能在管理控制台之外查看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。
5
默认的日志记录器会把日志输出发送到 stderr
,也就是错误输出。你可以用你所用的命令行工具的方法,把 stderr
重定向到一个文件里(比如在 tcsh 中,你可以用 (dev_appserver.py > /dev/tty) >& your_logfile.txt
,不过你用的命令行可能会不一样)。
如果你发现程序是在本地运行的(可以通过 os.environ['SERVER_SOFTWARE'].startswith('Dev')
来判断),你还可以使用 Python 的 logging
模块,把日志直接发送到一个文件里。