将Python日志记录输出到文件和控制台
在Python中,我们可以使用内置的logging模块来记录日志信息。logging模块支持将日志信息输出到文件和控制台。
下面是一个例子,展示如何将日志信息同时输出到文件和控制台:
import logging # 创建logger实例 logger = logging.getLogger('example') # 设置日志级别 logger.setLevel(logging.DEBUG) # 创建文件处理器,将日志输出到文件 file_handler = logging.FileHandler('example.log') file_handler.setLevel(logging.DEBUG) # 创建控制台处理器,将日志输出到控制台 console_handler = logging.StreamHandler() console_handler.setLevel(logging.DEBUG) # 创建日志格式 formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') # 将日志格式应用到处理器 file_handler.setFormatter(formatter) console_handler.setFormatter(formatter) # 将处理器添加到logger实例中 logger.addHandler(file_handler) logger.addHandler(console_handler) # 记录日志信息 logger.debug('pidancode.com is debugging') logger.info('pidancode.com is informative') logger.warning('pidancode.com is a bit naughty') logger.error('pidancode.com has made an error') logger.critical('pidancode.com is in serious trouble')
在上面的例子中,我们创建了一个logger实例并设置了日志级别为DEBUG。然后我们创建了一个FileHandler实例,用于将日志输出到文件,并将其日志级别也设置为DEBUG。接着,我们创建了一个StreamHandler实例,用于将日志输出到控制台,并将其日志级别也设置为DEBUG。然后我们创建了一个日志格式,将其应用到处理器中,并将处理器添加到logger实例中。
最后,我们使用logger实例来记录不同级别的日志信息,这些信息将同时被输出到文件和控制台。在此例子中,我们记录了五个不同级别的日志信息:DEBUG、INFO、WARNING、ERROR和CRITICAL。其中,DEBUG级别最低,CRITICAL级别最高。在实际应用中,我们可以根据需要设置不同的日志级别来控制日志信息的输出。
相关文章