logging.StreamHandler(stream=_streams[stream])
时间: 2023-11-26 07:33:37 浏览: 97
logging.StreamHandler(stream=_streams[stream]) 是一个用于将日志消息输出到流(stream)的处理器(handler)。其中 stream 参数指定了要输出到的流,_streams 参数是 Python 内置的字典,表示支持的流类型及其对应的标识符。例如,当 stream 参数为 sys.stdout 时,表示将日志消息输出到标准输出流(即控制台)。同样地,当 stream 参数为 sys.stderr 时,表示将日志消息输出到标准错误流。logging.StreamHandler() 方法还可以接受其他参数,例如 level、formatter 等,用于指定处理器的日志级别和消息格式。
相关问题
logging.StreamHandler(stream=sys.stdout)
logging.StreamHandler(stream=sys.stdout) 是一个用于将日志消息输出到标准输出流(即控制台)的处理器(handler)。其中 stream 参数指定了要输出到的流,sys.stdout 表示标准输出流。当有一个日志消息传递给处理器时,该处理器将会将消息输出到指定的流中。logging.StreamHandler() 方法还可以接受其他参数,例如 level、formatter 等,用于指定处理器的日志级别和消息格式。
def logger_info(logger_name, log_path='default_logger.log'): log = logging.getLogger(logger_name) if log.hasHandlers(): print('LogHandlers exists!') else: print('LogHandlers setup!') level = logging.INFO formatter = logging.Formatter('%(asctime)s.%(msecs)03d : %(message)s', datefmt='%y-%m-%d %H:%M:%S') fh = logging.FileHandler(log_path, mode='a') fh.setFormatter(formatter) log.setLevel(level) log.addHandler(fh) # print(len(log.handlers)) sh = logging.StreamHandler() sh.setFormatter(formatter) log.addHandler(sh)
这段代码是一个用于设置日志记录的函数。它接受一个日志记录器名称和可选的日志文件路径作为参数。如果已经存在与给定名称相同的日志处理程序,函数将输出"LogHandlers exists!",否则将设置新的日志处理程序。
函数首先创建一个日志记录器对象,并检查是否已经存在处理程序。如果存在,则输出"LogHandlers exists!",表示日志已经设置过了。如果不存在处理程序,则创建一个新的处理程序,并设置其级别为INFO。接下来,创建一个文件处理程序(FileHandler)用于将日志记录到文件中,并设置格式化器(Formatter)以指定日志消息的格式。然后,将文件处理程序添加到日志记录器中。
接下来,创建一个流处理程序(StreamHandler)用于将日志消息输出到控制台,并设置相同的格式化器。最后,将流处理程序添加到日志记录器中。
这段代码中的注释部分可能是用于调试目的,它会输出日志处理程序的数量。
阅读全文