【问题标题】:Capture google app engine logging output捕获谷歌应用引擎日志输出
【发布时间】:2011-04-22 17:07:08
【问题描述】:

如何在管理控制台之外查看 Google App Engine 日志?

我正在开发,因此使用dev_appserver.py/管理控制台并希望在记录发出时查看日志。

我想使用标准 Unix 工具在控制台中监控日志输出,例如less/grep/etc,但似乎没有从dev_appserver.py 命令直接记录日志的选项,而且我无法在 GAE 中打开新文件(例如 FileHandler),因此文件处理程序不会工作,我认为使用套接字/udp 处理程序会有点矫枉过正(如果可能的话)。

我希望有其他选项可以查看日志。

感谢阅读。

【问题讨论】:

标签: python google-app-engine logging


【解决方案1】:

默认记录器将记录输出发送到stderr。使用您的 shell 将 stderr 重定向到文件的方法(在 tcsh 中,(dev_appserver.py > /dev/tty) >& your_logfile.txt,您的 shell 可能会有所不同。)

您还可以使用 python 中的logging 模块将记录器更改为直接发送到文件,如果您检测到它在本地运行 (os.environ['SERVER_SOFTWARE'].startswith('Dev'))

【讨论】:

  • logging 模块可以从 GAE 写入文件吗?文件操作是否被禁止(现在除了 w/testbed)?唯一的选择不是套接字或 HTTP 或类似的记录器吗?
  • @Brian:App Engine 沙盒在这里无关紧要;此解决方案涉及 shell 将输出重定向到本地计算机上的文件(文件系统可能是可写的)。显然,这在生产服务器上不起作用,但在那里也没有必要,因为日志是为您保存的。
【解决方案2】:

您可以使用appcfg.pyrequest_logs参数下载日志

http://code.google.com/appengine/docs/python/tools/uploadinganapp.html#Downloading_Logs

编辑: 这个人想出了一种通过 XMPP 发送日志的方法。他的解决方案是针对 GAE Java 的,但这可以适应 python。

http://www.professionalintellectualdevelopment.com/

http://code.google.com/p/gae-xmpp-logger/

【讨论】:

  • 对不起,我应该澄清一下:我想在开发时获取日志(因此引用了`dev_appserver.py)。否则我认为你得到了正确的答案。 :)
猜你喜欢
  • 2011-01-24
  • 1970-01-01
  • 1970-01-01
  • 2011-05-18
  • 1970-01-01
  • 1970-01-01
  • 2011-05-06
  • 1970-01-01
相关资源
最近更新 更多