深入理解Python的logging模块:从基础到高级
import logging
# 创建一个logger
logger = logging.getLogger('my_logger')
# 设定logger的level为DEBUG
logger.setLevel(logging.DEBUG)
# 创建一个handler,用于写入log到控制台
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.DEBUG)
# 创建一个handler,用于写入log到文件
file_handler = logging.FileHandler('my_app.log')
file_handler.setLevel(logging.ERROR)
# 设置logger的输出格式
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
console_handler.setFormatter(formatter)
file_handler.setFormatter(formatter)
# 给logger添加handler
logger.addHandler(console_handler)
logger.addHandler(file_handler)
# 测试log输出
logger.debug('这是一个debug级别的日志信息')
logger.info('这是一个info级别的日志信息')
logger.warning('这是一个warning级别的日志信息')
logger.error('这是一个error级别的日志信息')
logger.critical('这是一个critical级别的日志信息')
这段代码首先创建了一个名为my_logger
的logger,并设置了其日志级别为DEBUG。然后,它添加了两个handler:一个用于将日志输出到控制台,另一个用于将日志写入文件my_app.log
。两个handler的级别分别是DEBUG和ERROR。最后,通过设置输出格式并将formatter添加到handler,定义了日志的输出样式。这样,不同级别的日志信息可以在控制台上以不同的形式输出,同时也会被写入到文件中。
评论已关闭