Loading

关于logging模块重复问题

logger对象配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import logging

# 获取一个新日志
logger = logging.getLogger()

# 创建一个handler,用于写入日志文件
fh = logging.FileHandler('test.log', encoding='utf-8')

# 再创建一个handler,用于输出到控制台
ch = logging.StreamHandler()

# 定义一个模板
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')

# 设置日志记录等级
logger.setLevel(logging.DEBUG)

# 把定义的模板绑定给创建的handler
fh.setFormatter(formatter)
ch.setFormatter(formatter)

# 指定要输出的方式
logger.addHandler(fh) # logger对象可以添加多个fh和ch对象
logger.addHandler(ch)



logger.debug('logger debug message')
logger.info('logger info message')
logger.warning('logger warning message')
logger.error('logger error message')
logger.critical('logger critical message')

 #  用pop方法把logger.handlers列表中的handler移除,注意如果你add了多个handler,这里需多次pop,或者可以直接为handlers列表赋空值
    logger.handlers.pop()
    # logger.handler = []

 

posted @ 2019-01-22 14:39  Ellisonzhang  阅读(429)  评论(0编辑  收藏  举报