簡體   English   中英

更改模塊的python日志記錄格式化程序

[英]Change python logging formatter of module

我正在運行鵜鶘..因此,我有一個模塊在其中創建了記錄器。 父記錄器即 鵜鶘以以下格式輸出數據:message ..

但是我希望將模塊名稱添加到日志消息中。因此,有一些方法可以將模塊的消息格式化為……xyz:消息,然后再將其傳遞給將其輸出到控制台的父級。

我知道您可以向模塊本身添加新的流處理程序,並向其添加格式器。.但是我的想法是..向模塊添加新的流處理程序將導致模塊本身輸出到控制台。 而不是父母這樣做。 那么正確的做法是什么呢?

如果您使用建議的命名記錄器的做法,例如:

logger = logging.getLogger(__name__)

然后,格式字符串中的%(name)s將顯示記錄事件的模塊。

將處理程序添加到記錄器,因此僅當您要表示“模塊記錄器本身”時,“向模塊本身添加新的流處理程序”語句才有意義。

如文檔中所述,最佳實踐是永遠不要將處理程序(除NullHandler實例之外)添加到庫代碼中的記錄器中(或通常,除__main__模塊之外的其他導入模塊)。 在大多數情況下,您可以向根記錄器添加處理程序,並且記錄到所有其他記錄器的事件將發送到該處理程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM