首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >从AppEngine下载日志,包括Python Log语句

从AppEngine下载日志,包括Python Log语句
EN

Stack Overflow用户
提问于 2010-02-09 21:21:58
回答 4查看 5.7K关注 0票数 18

我知道你可以用appcfg.py下载原始的访问日志,但我真的对特定请求的所有信息感兴趣,比如python日志记录语句、异常和api统计(就像在线日志查看器一样)。有没有人知道是否有另一种方法可以获得这些信息,而不必自己构建它?

如果有人想知道,我们想要对问题做一些连续的统计分析,并将它们显示在办公室墙上的大屏幕上。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-02-10 03:29:05

当然--只需将--severity标志传递给appcfg.py:

代码语言:javascript
复制
$ appcfg.py help request_logs
Usage: appcfg.py [options] request_logs <directory> <output_file>

Write request logs in Apache common log format.

The 'request_logs' command exports the request logs from your application
to a file.  It will write Apache common log format records ordered
chronologically.  If output file is '-' stdout will be written.

Options:
  -h, --help            Show the help message and exit.
  -q, --quiet           Print errors only.
  -v, --verbose         Print info level logs.
  --noisy               Print all logs.
  -s SERVER, --server=SERVER
                        The server to connect to.
  --insecure            Use HTTP when communicating with the server.
  -e EMAIL, --email=EMAIL
                        The username to use. Will prompt if omitted.
  -H HOST, --host=HOST  Overrides the Host header sent with all RPCs.
  --no_cookies          Do not save authentication cookies to local disk.
  --passin              Read the login password from stdin.
  -A APP_ID, --application=APP_ID
                        Override application from app.yaml file.
  -V VERSION, --version=VERSION
                        Override (major) version from app.yaml file.
  -n NUM_DAYS, --num_days=NUM_DAYS
                        Number of days worth of log data to get. The cut-off
                        point is midnight UTC. Use 0 to get all available
                        logs. Default is 1, unless --append is also given;
                        then the default is 0.
  -a, --append          Append to existing file.
  --severity=SEVERITY   Severity of app-level log messages to get. The range
                        is 0 (DEBUG) through 4 (CRITICAL). If omitted, only
                        request logs are returned.
  --vhost=VHOST         The virtual host of log messages to get. If omitted,
                        all log messages are returned.
  --include_vhost       Include virtual host in log messages.
  --end_date=END_DATE   End date (as YYYY-MM-DD) of period for log data.
                        Defaults to today.
票数 21
EN

Stack Overflow用户

发布于 2012-06-23 04:10:56

这就是对我们非常有效的方法:

代码语言:javascript
复制
appcfg.py --append --num_days=0 --include_all request_logs /path/to/your/app/ /var/log/gae/yourapp.log

无论如何,上面这行代码将获取所有日志记录,如果您以前执行过此操作,则将它们附加到日志文件中,如果没有,它将创建一个新的日志文件。它实际上查看您现有的日志(如果它在那里),它不会得到任何重复。如果你愿意,你可以在没有--append的情况下运行它,但是如果你要自动下载日志,就使用它。

这里的关键是--include_all标志,它似乎没有文档记录。如果您使用GAE的web日志查看器,此标记将获取您看到的所有数据。因此,您将获得如下字段: ms=71 cpu_ms=32 api_cpu_ms=12 cpm_usd=0.000921...等。

好吧,我希望这能帮助到一些人。

顺便说一句,我们写了一篇关于这个的博客文章,请查看here

票数 15
EN

Stack Overflow用户

发布于 2013-08-30 07:34:53

使用appcfg时,我似乎遇到了100米的极限。我最终使用logservice API来获取日志。

下面是代码- https://github.com/manasg/gae-log-fetcher

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2229293

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档