2015-03-02 46 views
2

我試圖利用Pyramid和pyramid_exclog在我的web應用程序中發生異常時向第三方系統發送異常。不幸的是,我似乎無法讓我的PasteDeploy development.ini正確識別格式化程序。如何在PasteDeploy 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託管的應用程序中?

回答

1

您需要從class行中刪除()行。

相反的:

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

你需要做到以下幾點:

[formatter_exc_formatter] 
class=pythonjsonlogger.jsonlogger.JsonFormatter 

pythonjsonlogger不是一個金字塔模塊和不具有includeme()功能是由金字塔名爲全部爲pyramid.includes

+0

謝謝謝謝謝謝謝謝!我不知道爲什麼我沒有嘗試沒有()的,但這個工作出色。 – 2015-03-10 18:32:23

相關問題