将Python日志记录输出到文件和控制台

2023-04-02 00:00:00 文件 输出 控制台

在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级别最高。在实际应用中,我们可以根据需要设置不同的日志级别来控制日志信息的输出。

相关文章