有谁知道如何申请Google App Engine应用程序的所有日志?通过所有日志,我的意思是所有应用程序版本日志
我们会在每次部署时增加应用程序的版本.我有一个脚本,每30分钟为一些离线分析提取日志文件.
这就是我的脚本现在正在调用的东西.appcfg.py --append --num_days = 0 --include_all request_logs/opt/gae/appname//var/log/gae/appname.log
这不会获取所有应用程序版本的日志文件,而只会获取/opt/gae/appname/app.yaml文件中指定的版本.问题是该app.yaml文件中的任何内容可能不是活动的,而是仍在开发中.
如果我们使用--version = 0标志来拉取所有版本的日志会很好,就像--num_days = 0一样.
所以,我正在尝试使用cron.yaml自动化GAE数据存储区备份.此外,我想使用Google云端存储作为备份的目的地.我创建了一个存储桶并设置了ACL.手动备份可在Datastore管理控制台中运行.我甚至可以让cron工作.但是,我们将相同的代码库推送到3个不同的环境:dev,staging,production.所以,我想根据应用程序名称将备份分成不同的存储桶.
我想暂存数据存储区转到myapp_staging_bk存储桶,在myapp_dev_bk存储桶中启用dev,然后转到myapp_live_bk.
cron.yaml:
cron:
- description: My Daily Backup
url: /_ah/datastore_admin/backup.create?name=BackupToCloud&kind=LogTitle&kind=EventLog&filesystem=gs&gs_bucket_name=whitsend
schedule: every 12 hours
target: ah-builtin-python-bundle
Run Code Online (Sandbox Code Playgroud)
如果我能想出一种在上面的url中提取应用程序名称的方法,那么所有这些都非常容易.像这样的东西:
url: /_ah/datastore_admin/backup.create?name=BackupToCloud&kind=LogTitle&kind=EventLog&filesystem=gs&{myapp}_bk=whitsend
schedule: every 12 hours
Run Code Online (Sandbox Code Playgroud)
其中{myapp}将是app.yaml中应用的名称.
https://developers.google.com/appengine/articles/scheduled_backups没有说明此类型的设置.
我知道我可以用我们的CI服务器来解决这个问题,但我想避免这种情况.
有没有人有什么建议?