Python 如何停止';打印';从输出到浏览器与谷歌应用程序引擎?

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

我是GAE的新手,还不知道如何将“打印”语句配置到日志控制台而不是浏览器。例如:

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中运行时是这样

有关更多信息,请参阅


哦,使用
日志记录
模块的好处是,您可以在应用程序的“应用程序引擎”仪表板的“日志”部分下访问生产中的日志消息。

我只是在尝试使用打印进行调试。有没有其他方法不阻止使用重定向头?使用另一个答案中指出的日志记录我只是在尝试使用打印进行调试。是否有不阻止使用重定向标头的替代方法?请按照另一个答案中的说明使用日志记录