解释代码:logger.addHandler(handler)
时间: 2023-05-29 17:05:02 浏览: 142
这行代码的作用是将一个handler对象添加到logger对象中,用于处理logger对象产生的日志消息。在这个过程中,当logger对象产生一个日志消息时,会将该消息传递给handler对象处理,例如将消息写入文件、打印到控制台等。这样可以将日志消息记录在多个不同的地方,便于分析和调试。
相关问题
logger.addHandler(sh)
logger.addHandler(sh) 是用于给 logger 实例添加处理器(handler)的方法。其中 logger 表示要添加处理器的 logger 实例,sh 表示要添加的处理器实例(例如 StreamHandler)。通过添加处理器,可以将日志消息输出到指定的目标,例如文件、控制台等。当 logger 实例接收到一个日志消息时,它会将该消息发送到所有已添加的处理器中,让处理器将消息输出到指定的目标。例如,当 logger 实例接收到一个 ERROR 级别的日志消息时,它会将该消息通过所有已添加的处理器发送出去,让处理器将消息输出到指定的目标上。
def init_logger(log_level: str) -> None: """ Init logging system to use unified style. :param log_level: log_level: must one of [INFO ERROR WARNING DEBUG CRITICAL] """ validation_log_level = ['INFO', 'ERROR', 'WARNING', 'DEBUG', 'CRITICAL'] if log_level not in validation_log_level: raise Exception(f'{log_level} must one of {validation_log_level}') handler = logging.StreamHandler() log_format = logging.Formatter('%(asctime)s - %(levelname)s - %(name)s - %(module)s.%(filename)s:%(lineno)d - %(' 'message)s') handler.setFormatter(log_format) root_logger = logging.getLogger() root_logger.setLevel(log_level) root_logger.addHandler(handler)
这是一个 Python 代码段,用于初始化日志记录系统。这个函数接受一个参数 log_level,用于指定日志记录的级别,必须是以下之一:INFO、ERROR、WARNING、DEBUG、CRITICAL。
如果 log_level 不是这些值之一,函数将抛出一个异常。
该函数将日志记录输出到标准输出流,使用统一的日志记录格式。日志记录格式包括时间戳、日志级别、记录器名称、所在模块、源文件名、源代码行号和日志信息。日志级别按照从低到高的顺序包括 DEBUG、INFO、WARNING、ERROR 和 CRITICAL。
该函数将设置根记录器的级别以及处理器和格式器。如果您想要自定义日志记录系统,可以使用该函数作为起点。
阅读全文