![](/img/trans.png)
[英]Python logging - how do I disable or set different logging level for some modules, using the logger configuration file?
[英]Can i set logging level of all loaded modules at once?
主模塊使用模塊的功能。 模塊的功能包括 logger.info 或 logger.warning.. 等等,以顯示我對代碼的錯誤。
目的:
- 在 main、A 和 B 中記錄所有內容。
- 目前在主 jupyter 筆記本中設置 A 和 B 日志記錄級別的教員。 (例如,當我需要有關 A 的 function 的更多信息時,然后將日志記錄級別從INFO增加到DEBUG )
順便說一下,主腳本有:
import logging, sys
# create logger
logger = logging.getLogger('logger')
logger.setLevel(logging.DEBUG)
# create console handler and set level to debug
fh = logging.FileHandler('process.log')
logger.setLevel(logging.DEBUG)
ch = logging.StreamHandler(sys.stdout)
ch.setLevel(logging.DEBUG)
# create formatter
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s\n')
# add formatter to ch
fh.setFormatter(formatter)
# add ch to logger
logger.addHandler(fh)
logger.addHandler(ch)
我想使用 Logger object 並配置這個 object,而不是日志記錄的 baseconfig。 但如果我不能,其他方式也可以。
如果你這樣做:
logger = logging.getLogger('logger')
進入模塊 A 和模塊 B,然后他們應該可以訪問與主文件相同的記錄器。 從那里,您可以隨時設置任何級別。 例如
# ../module_a.py
import logging
logger = logging.getLogger('logger')
logger.setLevel(whatever) # Now all instances of "logger" will be set to that level.
基本上,記錄器是按名稱全局注冊的,並且可以直接從任何其他模塊通過日志記錄模塊訪問。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.