【发布时间】:2022-08-16 22:24:27
【问题描述】:
蟒蛇3.6
如何设置日志记录级别
我想使用以下代码运行实例化日志类
import logging
from sys import stdout
from logging import DEBUG, INFO, WARNING, ERROR, CRITICAL, StreamHandler
logger = logging.getLogger(__name__)
logging_level = \"DEBUG\"
valid_logging_levels = [\"DEBUG\", \"INFO\", \"WARNING\", \"ERROR\", \"CRITICAL\"]
if logging_level not in valid_logging_levels:
raise ValueError(f\"Logging level must be one of the following: {valid_logging_levels}\")
目前我正在使用这种语法来设置日志记录级别,但它真的很长
sys_out = StreamHandler(stdout)
if not [isinstance(handler, StreamHandler) for handler in logger.handlers]:
logger.addHandler(sys_out)
if logging_level == \"DEBUG\":
logger.setLevel(DEBUG)
elif logging_level == \"INFO\":
logger.setLevel(INFO)
elif logging_level == \"WARNING\":
logger.setLevel(WARNING)
elif logging_level == \"ERROR\":
logger.setLevel(ERROR)
elif logging_level == \"CRITICAL\":
logger.setLevel(CRITICAL)
然而,这真的很长。我想我可以像下面这样缩短它
log_level = logger.getLevelName(logging_level)
logger.setLevel(log_level)
但是,当我运行它时,我收到错误消息\'Logger\' object has no attribute \'getLevelName\' 是否有更好的方法来设置自定义日志记录级别?
提前致谢!
-
您也可以使用
dict。
标签: python python-logging