2012-08-14 48 views
1

我正在尝试调试this code。有了这个目标,我试图在this tutorial之后使用日志记录。有了这个目标,我在我的脚本插入此代码:如何查看GAE下的日志模块输出模块?

import logging 

logging.basicConfig(level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s') 

logging.debug('This is a log message.') 

而且,在我想要得到的消息记录的部分,我插入的行:logging.debug ('This is a log message.')这样:

def fcount(self,f,cat): 
    res = db.GqlQuery("SELECT * FROM fc WHERE feature =:feature AND category =:category", feature = f, category = cat).get() 
    logging.debug('This is a log message.') 
# res=self.con.execute(
#  'select count from fc where feature="%s" and category="%s"' 
#  %(f,cat)).fetchone() 
    if res is None: return 0 
    else: 
     res = fc.count 
     return float(res) 

它事实证明我的申请是一个GAE申请。我看不到日志消息,它没有出现在浏览器或PyScripter IDE中。我应该在哪里看到日志消息的屏幕?

PS - 我想利用这个代码写交替记录消息记录到文件:

import logging 
logging.basicConfig(filename='log_filename.txt', level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s') 
logging.debug('This is a log message.') 

但我发现一个I/O错误。

+0

+1陈述的问题 – msw 2012-08-14 01:47:35

回答

1

您是试图在Google App Engine上运行记录器还是在本地计算机上无法运行?如果它不适用于GAE,那是因为您已将记录器设置为写入文件,而GAE并不真正让您访问文件系统。

对于非基于文件的日志,您可以在GAE管理控制台中找到日志。 (在你的本地主机,它位于

http://localhost:8080/_ah/admin 

参见如何使用GAE上运行日志模块https://developers.google.com/appengine/articles/logging

+0

这解释了I/O错误。我使用GAE日志控制台,但我认为用这种方法我可以得到更详细的日志消息。谢谢! – craftApprentice 2012-08-14 01:40:59

+0

NP,很高兴我能服务。 – Wulfram 2012-08-14 01:44:27

+1

@Wulfram本地主机管理员没有日志消息(至少不是我的)。日志在终端窗口中可见。 – aschmid00 2012-08-14 13:30:10

1

,我不能给你PyScripter细节,但你需要设置你的IDE通该-d(或--debug)标志的dev_appserver.py这使DEBUG日志,否则你会看到INFO或更高级别的唯一消息

所以,你可以尝试,而不是:

logging.info('This is a log message.')