python日志记录不适用于使用谷歌应用引擎的网络应用程序

时间:2012-05-18 08:58:41

标签: python google-app-engine logging

我有一个使用谷歌应用引擎的网络应用。在ubuntu中,我使用

启动应用引擎
./dev_appserver.py /home/me/dev/mycode

在mycode文件夹中,我有app.yml和web应用程序的python文件。在网络应用程序代码中,我使用日志记录来写一些变量的值,如

import logging
LOG_FILENAME = '/home/me/logs/mylog.txt'
logging.basicConfig(filename=LOG_FILENAME,level=logging.DEBUG)


class Handler(webapp2.RequestHandler):
    ....

class Welcome(Handler):
    def get(self):
        if self.user:
            logging.debug('rendering welcome page for user')            
            self.render('welcome.html',username= self.user.name)
        else:
            logging.debug('redirect to signup')            
            self.redirect('/signup')
class MainPage(Handler):
        def get(self):
            self.redirect('/welcome')
app = webapp2.WSGIApplication([('/', MainPage),('/signup', Register),('/welcome', Welcome)], debug=True)

我已经为日志目录设置了chmod 777。但是在那里没有创建日志。我对谷歌应用程序引擎运行时如何查看任何日志感到茫然。因为它在linux中,我没有launcher with gui ..如果生成任何内容,很难看到应用引擎日志

如果有人可以帮我解决这个问题,那就太好了。

2 个答案:

答案 0 :(得分:3)

我有相同的环境(Ubuntu,python,gae)并遇到类似的日志问题。

您无法按照此处所述登录本地文件:https://developers.google.com/appengine/docs/python/overview

  

“沙箱确保应用程序只能执行不会影响其他应用程序的性能和可伸缩性的操作。例如,应用程序无法将数据写入本地文件系统或进行任意网络连接。”

     

“开发服务器在您的本地计算机上运行您的应用程序以测试您的应用程序。服务器模拟App Engine数据存储,服务和沙箱限制。”

我能够使控制台日志记录工作如下:

import logging
logging.getLogger().setLevel(logging.DEBUG)

答案 1 :(得分:2)

您是否阅读过https://developers.google.com/appengine/articles/logging,因为我知道您不能声明自己的日志文件