簡體   English   中英

python logger的后代-好處

[英]python logger's descendants - benefits

我很難理解在每個模塊中從根記錄器中創建后代記錄器的好處。 例如:

在名為“ foo”的項目中,模塊名稱為“ bar”:

import logging
logger = logging.getLogger(__name__)
# other pieces of code, that all of them use log...

和相同的項目,但在模塊“ baz”中

import logging
logger = logging.getLogger(__name__)
# other pieces of code, that all of them use log...

而不只是創建一個記錄器對象,然后導入和使用其他模塊。 例如在同一項目中:

from foo.logs import logger
# other pieces of code, that all of them use log...

和foo / logs.py將包含如下內容:

import logging
logger = logging.getLoger('foo')
# some init logic of the logger...

我可以從創建的LogRecord對象獲取所需的所有數據:文件名,funcName,路徑名,名稱等。

為什么使用一個時重復創建后代記錄器的相同過程(調用getLogger)? 它可能也有較小的性能足跡嗎?

為每個文件創建單獨的記錄器的原因是,以便您以后可以自定義記錄的內容和不記錄的內容,而無需更改源代碼。

日志記錄通常通過外部文件進行配置,安裝后,即使不是軟件開發人員的用戶也可以對其進行修改。

出於相同的原因,每個記錄器可以使用不同的記錄級別,以允許生成更多或更少的日志。 然后,在某個時候,例如,出於調試目的而需要來自模塊a詳盡日志數據時,可以修改配置文件以顯示模塊a DEBUG日志級別,而不會弄亂應用程序中每個模塊的調試信息。

暫無
暫無

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

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