2016-06-17 29 views
1

在我的Python代碼中,我將一個字典傳遞到記錄器中。Python記錄器不打印'額外'字典信息

extra_info = {"test":"data"} 
logger.info("",extra=extra_info)  

我希望得到額外的信息打印,我以爲這是在消息中,但是當我使用這種格式

format=%(asctime)s %(levelname)s %(name)s: %(message)s 

不被打印的內容EXTRA_INFO。我剛剛得到以下

2016/06/17 13:10:47 INFO test: 
+0

是的,這只是一個錯字,謝謝 –

+0

不用擔心,隊友。 – bernie

回答

2

按照logging docs,則extra關鍵字參數是用來添加額外的上下文日誌記錄。

format = '%(asctime)s - %(levelname)s - %(name)s - %(message)s - %(EXTRA_DICT_KEY)s' 

請注意,如果您設置格式這樣,忘記要通過字典鍵,你會得到:

您可以通過添加字典鍵使用通過在格式化extra參數傳遞信息一個字符串格式化異常。


正如你可以在你的例子看,你有沒有指定的格式任意鍵。

代替,:

format = '%(asctime)s - %(levelname)s - %(name)s - %(message)s' 

嘗試:

format = '%(asctime)s - %(levelname)s - %(name)s - %(message)s - %(test)s' 

  • 您可能會發現一些其他有用的信息here
+0

好的,謝謝我錯過了閱讀該部分的一些想法,它只是通過消息添加的。所以基本上我需要做的就像在我的示例中添加%(test),它會起作用。非常感謝。 –