我没有派Python波特

2024-09-30 12:25:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用ereporter每天给我发送一封邮件,所有例外都来自我的应用程序。为此,我使用以下代码:

import webapp2, logging
from google.appengine.ext import ereporter

class SomeJob(webapp2.RequestHandler):
   def get(self):
     try:
        #some job
     except:
        logging.exception('my text')
        ereporter.register_logger()

我的应用程序yaml有以下参考(Python2.7):

^{pr2}$

还有我的克罗恩·亚姆有以下内容:

^{3}$

cron作业正常工作,只是不发送电子邮件。我注意到的是,当我查看应用程序仪表板并转到日志时,记录的异常有以下文本:

my text
None

我不知道是什么原因导致了“无”,但我怀疑这可能表明为什么我没有收到每日报告。有什么想法吗?在


Tags: 代码textfromimport应用程序mylogginggoogle
2条回答

我猜问题是你在记录数据后注册了记录器。在

ereporter article中,它建议在全局级别注册记录器:

import logging
from google.appengine.ext import ereporter

ereporter.register_logger()

正如Samuel所指出的,必须在抛出异常之前注册记录器。最好的地方是在你相当于主.py. 但是,一旦您这样做,您应该看到调用的结果日志记录.异常(). ereporter将向您发送所有未处理的异常您调用的所有异常日志记录.异常()在except:子句中。在

ereporter的一个警告是,它默认只发送昨天的异常。要让它向您发送今天的例外情况,请手动调用它并提供今天的日期,例如

http://your-app.appspot.com/_ereporter?sender=admin@yourdomain.com&date=2014-05-28

您还可以编写自己的cron处理程序来包装ereporter并以编程方式提供今天的日期,如下所示:

^{pr2}$

我计划这样做,这样我就可以得到每小时一次的异常报告。在

H/T:https://groups.google.com/forum/#!searchin/google-appengine/ereporter/google-appengine/G99VGhs5cls/bD1UXDEnQqcJ

相关问题 更多 >

    热门问题