如何在 PasteDeploy ini 文件中包含第三方记录器格式化程序?
How do I include a third-party logger formatter in a PasteDeploy ini file?
我正在尝试利用 Pyramid 和 pyramid_exclog 每当我的网络应用程序发生异常时向第三方系统发送异常。不幸的是,我似乎无法让我的 PasteDeploy development.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()
函数
我正在尝试利用 Pyramid 和 pyramid_exclog 每当我的网络应用程序发生异常时向第三方系统发送异常。不幸的是,我似乎无法让我的 PasteDeploy development.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()
函数