[英]How can a logger with a parent logger have an effectiveLevel of 0?
嘗試使用日志記錄繼承,並且對我看到的有效日志級別有些困惑。
我的文件結構如下:
project/
--> __init.py__
--> some_folder/
----> some_file.py
在__init.py__
我從yaml文件中的dict配置創建根記錄器。 我記錄了它的有效級別,它與預期的一樣(在yaml文件中設置為INFO)。 但是,我在some_file.py中記錄了記錄器的有效級別,結果為0。我意識到非根記錄器的默認級別為NOTSET(0),但我希望有效級別與根記錄器相同,因此INFO而不是0。
知道為什么嗎?
編輯添加的代碼以創建記錄器:
YAML:
version: 1
disable_existing_loggers: False
formatters:
simple:
format: "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
handlers:
console:
class: logging.StreamHandler
level: DEBUG
formatter: simple
stream: ext://sys.stdout
root:
level: INFO
handlers: [console]
propagate: no
配置的膨脹:
with open('path_to_yaml', 'r') as f:
config = yaml.load(f.read())
logging.config.dictConfig(config)
看來我錯誤地假設它將繼承root
的級別。 看來我需要添加一個名為項目的記錄器來完成預期的行為。
version: 1
disable_existing_loggers: False
formatters:
simple:
format: "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
handlers:
console:
class: logging.StreamHandler
level: DEBUG
formatter: simple
stream: ext://sys.stdout
loggers:
project:
level: INFO
handlers: [console]
propagate: no
root:
level: INFO
handlers: [console]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.