Python 如何停止';打印';从输出到浏览器与谷歌应用程序引擎?
我是GAE的新手,还不知道如何将“打印”语句配置到日志控制台而不是浏览器。例如:Python 如何停止';打印';从输出到浏览器与谷歌应用程序引擎?,python,debugging,logging,Python,Debugging,Logging,我是GAE的新手,还不知道如何将“打印”语句配置到日志控制台而不是浏览器。例如: class Feed(webapp.RequestHandler): def post(self): feeditem = Feeditem() feeditem.author = self.request.get('from') feeditem.content = self.request.get('content') feeditem.p
class Feed(webapp.RequestHandler):
def post(self):
feeditem = Feeditem()
feeditem.author = self.request.get('from')
feeditem.content = self.request.get('content')
feeditem.put()
notify_friends(feeditem)
self.redirect('/')
def notify_friends(feeditem):
"""Alerts friends of a new feeditem"""
print 'Feeditem = ', feeditem
当我执行上述操作时,print in notify_friends输出到浏览器,并以某种方式阻止调用它的post方法中的self.redirect(“/”)。把它评论出来可以纠正这个问题
有没有办法改变这种行为
编辑:谷歌应用程序引擎标签被删除,因为这是一般性的。这不仅仅是GAE的问题。这是一个普遍问题。您无法打印出HTML,然后尝试使用重定向标题。你的问题的答案是不,你不能改变行为。你到底想达到什么目的?你可以用不同的方式得到你想要的。这不仅仅是GAE的问题。这是一个普遍问题。您无法打印出HTML,然后尝试使用重定向标题。你的问题的答案是不,你不能改变行为。你到底想达到什么目的?您可以通过不同的方式获得所需信息。您应该使用
日志记录模块,如下所示:
import logging
def notify_friends(feeditem):
"""Alerts friends of a new feeditem"""
logging.info('Feeditem = %s', feeditem)
您可以使用多种日志记录级别,从debug
到critical
。不过,默认情况下,appenginesdk只显示级别info
及以上的日志消息,所以我在这里建议这样做。如果需要,您可以要求它向您显示debug
消息,但您可能会被无用的(对您而言)日志信息淹没,至少在SDK中运行时是这样
有关更多信息,请参阅
哦,使用日志记录
模块的好处是,您可以在应用程序引擎仪表板的“日志”部分下访问生产中的日志消息。您应该改用日志记录
模块,如下所示:
import logging
def notify_friends(feeditem):
"""Alerts friends of a new feeditem"""
logging.info('Feeditem = %s', feeditem)
您可以使用多种日志记录级别,从debug
到critical
。不过,默认情况下,appenginesdk只显示级别info
及以上的日志消息,所以我在这里建议这样做。如果需要,您可以要求它向您显示debug
消息,但您可能会被无用的(对您而言)日志信息淹没,至少在SDK中运行时是这样
有关更多信息,请参阅
哦,使用日志记录
模块的好处是,您可以在应用程序的“应用程序引擎”仪表板的“日志”部分下访问生产中的日志消息。我只是在尝试使用打印进行调试。有没有其他方法不阻止使用重定向头?使用另一个答案中指出的日志记录我只是在尝试使用打印进行调试。是否有不阻止使用重定向标头的替代方法?请按照另一个答案中的说明使用日志记录