我有一个Flask应用程序,我想为其编写一个BEGIN
ALTER TABLE TBL DISABLE TRIGGER A;
-- do some work (success)
-- more work here... but an error is raised
ALTER TABLE TBL ENABLE TRIGGER A; -- (not executed)
-- some other statements here (not executed)
END;
方法,该方法采用global_error_handler
之类的参数,并且仅当此参数为email_admin
时才通过电子邮件发送给管理员。
如果我想使用Python内置的日志记录功能(例如,而不是从True
获取异常信息并自己格式化电子邮件,那么我该如何选择呢?我真正坚持的是:在引发异常时,我似乎无法说出来,请将它定向到这个特定的日志记录处理程序,而不是另一个。我需要编写多个记录器,每个记录器都有一个特定的处理程序,并以这种方式具有不同的错误日志目标?
答案 0 :(得分:0)
您可以按照here所述注册自己的错误处理程序,其中提到了
可以为任何异常类注册处理程序,而不仅仅是HTTPException子类或HTTP状态代码。可以为特定类或父类的所有子类注册处理程序。
因此,您可以根据需要定义和注册自己的异常类。
关于通过内置日志记录处理错误,我建议您熟悉Flask docs here,其中概述了如何自定义处理程序(例如,使用SMTPHandler
)或完全删除默认处理程序