栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

GoogleAppEngineLauncher在哪里保存本地日志文件?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

GoogleAppEngineLauncher在哪里保存本地日志文件?

正如你猜测,并通过研究源文件确认

/usr/local/google_appengine/google/appengine/tools/dev_appserver.py
,该日志不会被写入到磁盘(一个
cStringIO.StringIO
实例用于保留在内存中,作为代码的其余部分
面向写他们“一类文件对象”)。

我建议编写自己的应用服务器脚本,该脚本将import

dev_appserver
,subclasses
dev_appserver.ApplicationLoggingHandler
和重写 一种
方法:

from google.appengine.tools import dev_appserverclass MyHandler(dev_appserver.ApplicationLoggingHandler):    def __init__(self, *a, **k):        dev_appserver.ApplicationLoggingHandler.__init__(self, *a, **k)        self.thefile = open('/tmp/mylog.txt', 'w')    def emit(self, record):        dev_appserver.ApplicationLoggingHandler(self, record)        self.thefile.write(str(record) + 'n')        self.thefile.flush()

您还需要确保使用此类而不是标准类,例如,通过对调度程序进行子类化或确保使用其依赖项注入功能。(

dev_appserver_main.py
我认为,您可以更好地控制它)。

我认为这种自定义方法要麻烦得多(毕竟,将日志写入文件是完全正常的-要么根据需要显示不同的日志,要么稍后再使用一些辅助脚本进行处理),因此,我还建议您在App
Engine的跟踪器上提出功能请求:

dev_appserver.py
应再接受一个标志,如果指定了该标志,则会提供将日志写入磁盘的路径。

而且,老实说,如果我现在自己需要此功能,我会以肮脏的方式进行:编辑该

.py
文件(及其相关文件
_main.py
)以添加上述标记及其用途。总共应该有十几行,比我刚才概述的“规范”方法容易得多。当然,这
肮脏的,因为每当有一个新的SDK,你将不得不重新应用补丁,并再次,再次…这就是为什么人们应该
提出了基于GAE的跟踪补丁,作为特征请求的一部分我建议,希望它能很快被接受!-)



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/647029.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号