如何在Pasteeploy ini文件中包含第三方记录器格式化程序



每当我的web应用程序中发生异常时,我都会尝试利用Pyramid和Pyramid_exclog向第三方系统发送异常。不幸的是,我似乎无法使PasteDeploydevelopment.ini正确识别格式化程序。

我尝试了几种变体,包括:

[formatter_exc_formatter]
class=JsonFormatter()

[formatter_exc_formatter]
class=jsonlogger.JsonFormatter()

[formatter_exc_formatter]
class=pythonjsonlogger.jsonlogger.JsonFormatter()

我还尝试将pythonjsonlogger指定为我的pyramid_includes的一部分,如下所示:

pyramid.includes = pyramid_exclog, pythonjsonlogger.jsonlogger

以及:

pyramid.includes = pyramid_exclog, pythonjsonlogger

在这一点上,我很困惑。我错过了什么?如何将自定义格式化程序包含到PasteDeploy管理的应用程序中?

您需要从class行中删除()

代替:

[formatter_exc_formatter]
class=pythonjsonlogger.jsonlogger.JsonFormatter()

您需要执行以下操作:

[formatter_exc_formatter]
class=pythonjsonlogger.jsonlogger.JsonFormatter

pythonjsonlogger不是Pyramid模块,也没有Pyramid为所有pyramid.includes调用的includeme()函数。

相关内容

  • 没有找到相关文章

最新更新