需要以编程方式访问 GAE 日志

Posted

技术标签:

【中文标题】需要以编程方式访问 GAE 日志【英文标题】:Need to access GAE logs programmatically 【发布时间】:2011-07-27 03:55:18 【问题描述】:

我们在 GAE 中托管了一个 GWT 应用程序。我们使用 gwt-log (http:// code.google.com/p/gwt-log/) 来记录我们的客户端和服务器端 例外。我们需要做的是每天在 午夜创建所有异常的报告(例如列表来源, 异常时间、计数等)。为此,我们需要访问 GAE 通过 API 调用或我们的某些东西以编程方式记录 服务器端代码。这可能吗? 日志数据是否可访问?

如果这是不可能的,总结错误的最佳方法是什么? 日志?

非常感谢。

【问题讨论】:

这在GAE Python中可以使用,不知道有没有Java版本:code.google.com/appengine/articles/python/…至少你可以看到他们是如何实现这个想法的。 您能给我举个例子来说明如何使用 we.xml 进行配置吗? 【参考方案1】:

Calvin 链接的 ereporter 模块显示了如何在 Python 中执行此操作。它所做的不是以编程方式读取日志:相反,它注册了一个自定义日志处理程序,该处理程序捕获所有异常日志并将它们存储在数据存储中。然后,一个 cron 作业汇总在该时间间隔内发生的异常并将它们通过电子邮件发送给管理员。

您应该能够在 java 中通过日志基础设施应用相同的技术,而无需能够以编程方式读取日志。

【讨论】:

你能给我一个例子来说明如何做到这一点吗?非常感谢您的回复。 我认为这是不可能的,因为您需要调用 $PYTHON_LIB/google/appengine/ext/ereporter/report_generator.py 可能与 Java 应用调用 Servlet 的方式相同。 我刚刚做了一个快速研究,Java 不支持这个。参考:code.google.com/appengine/tools_tips.html @Mayumi 绝对是 - 检查 Java 日志基础设施的文档。工具和提示页面与它有什么关系? 但是 Java 需要一个 Servlet 来处理服务器端的请求/响应。在指令中,我们需要调用 $PYTHON_LIB/google/appengine/ext/ereporter/report_generator.py 这是 Python 文件,它需要 Python 应用程序。我不认为应用引擎配置为允许 Java 应用调用 .py 文件。【参考方案2】:

看看LogService API。

它提供了检查应用程序请求日志和应用程序日志的方法。

【讨论】:

以上是关于需要以编程方式访问 GAE 日志的主要内容,如果未能解决你的问题,请参考以下文章

Python GAE - 如何以编程方式将数据从备份导出到 Big Query?

以编程方式检查上次通过查询访问表的时间?

android如何以编程方式仅捕获应用程序中的日志条目

如何以编程方式捕获iPhone控制台日志? [关闭]

GAE/P - 为维护安排停机时间

Spring Security 3 日志记录不适用于 Eclipse 中的 GAE