Python 日志记录失败

时间:2021-01-24 05:37:07

标签: python logging

刚刚开始查找日志模块并创建了一个虚拟程序来理解记录器、处理程序和格式化程序。这是代码

# logging_example.py

import logging
from datetime import datetime
import os

extension = datetime.now().strftime("%d-%b-%Y_%H_%M_%S_%p")
logfile = os.path.join("logs", f"demo_logging_{extension}.txt")

logger = logging.getLogger(__name__)

ch = logging.StreamHandler()
fh = logging.FileHandler(logfile)

ch.setLevel(logging.DEBUG)
fh.setLevel(logging.DEBUG)

formatter = logging.Formatter("%(asctime)s - %(levelname)s - %(message)s")

ch.setFormatter(formatter)
fh.setFormatter(formatter)

logger.addHandler(ch)
logger.addHandler(fh)

logger.info("Hello World")

当我执行程序时,日志目录中有文件,但内容为空,屏幕上没有打印任何内容。我很确定我错过了一些基本的东西,但我无法抓住它:(.

我将不胜感激。

谢谢

1 个答案:

答案 0 :(得分:2)

您已将日志级别添加到处理程序,但未添加到记录器。这意味着,如果记录器传递了消息,处理程序将记录该消息。但由于记录器阈值较高,它被丢弃了。

See this link

也将日志级别添加到记录器。 添加处理程序后:

logger.setLevel(logging.DEBUG)