![](/img/trans.png)
[英]Using python's RotatingFileHandler with no logger object
[英]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.