# 第一段代码: import logging # 配置日志 logging.basicConfig(filename='example.log', level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s') # 示例日志记录 logging.debug('This is a debug message') logging.info('This is an info message') logging.warning('This is a warning message') logging.error('This is an error message') logging.critical('This is a critical message') # 这段代码使用 basicConfig 方法配置日志,该方法是 logging 模块提供的一种简便的配置方式。basicConfig 会自动创建并配置一个根 logger, # 将日志输出到文件('example.log')中。配置中包括了记录级别为 DEBUG,并使用指定格式的日志消息。 # 第二段代码: import logging # 创建 logger 对象 logger = logging.getLogger(__name__) # 创建一个 FileHandler,并设置级别为 INFO file_handler = logging.FileHandler('example.log') file_handler.setLevel(logging.INFO) # 创建一个 StreamHandler,并设置级别为 DEBUG console_handler = logging.StreamHandler() console_handler.setLevel(logging.DEBUG) # 创建一个格式化器,用于指定日志消息的格式 formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s') file_handler.setFormatter(formatter) console_handler.setFormatter(formatter) # 将处理程序添加到 logger 对象中 logger.addHandler(file_handler) logger.addHandler(console_handler) # 配置日志级别 logger.setLevel(logging.DEBUG) # 示例日志记录 logger.debug('This is a debug message') logger.info('This is an info message') logger.warning('This is a warning message') logger.error('This is an error message') logger.critical('This is a critical message') # 这段代码手动创建了一个 logger 对象,并为其添加了一个 FileHandler 和一个 StreamHandler,从而实现了同时将日志输出到文件和控制台。 # 通过设置级别和格式,你可以更灵活地控制日志的输出。在这个例子中,日志级别为 DEBUG,并使用相同的日志消息格式。 # 总体而言,两段代码的主要区别在于配置的方式和输出的位置。第一段代码使用了 basicConfig 进行配置, # 而第二段代码手动创建了 logger 对象并添加了处理程序。选择使用哪一种方式取决于你的需求和偏好。
Python logging日志的使用
最新推荐文章于 2024-10-18 00:00:00 发布