您的位置:首页技术文章
文章详情页

python 日志模块 日志等级设置失效的解决方案

【字号: 日期:2022-07-24 14:57:35浏览:2作者:猪猪

代码问题:控制台和日志的文件的等级设置要放在

logger = logging.getLogger(’myloger’)

实例化之后才会生效 不然就被logger默认的替代了

问题:当前日志模块的等级设置 失效

现象:

console_level = 'INFO'handler_level = 'INFO'handler_file = logging.FileHandler(filename)handler_file.setFormatter(formatter)handler_file.setLevel(handler_level)handler_console = logging.StreamHandler()handler_console.setFormatter(formatter)handler_console.setLevel(console_level)logger = logging.getLogger(’myloger’)# logger.setLevel('INFO')from log import loggerlogger.debug('debug---------------')logger.info('info---------------')logger.warning('warning---------------')logger.error('error---------------')logger.critical('critical---------------')>>>>> 空 没有打印

解决办法 使用这个级别设置

logger.setLevel('INFO')

console_level = 'INFO'handler_level = 'INFO'handler_file = logging.FileHandler(filename)handler_file.setFormatter(formatter)handler_file.setLevel(handler_level)handler_console = logging.StreamHandler()handler_console.setFormatter(formatter)handler_console.setLevel(console_level)logger = logging.getLogger(’myloger’)logger.setLevel('INFO')# 给logger添加handlerlogger.addHandler(handler_file)from log import loggerfee=3data={}data[’trade_amount’]=100# logger.info('ddddddddddddddddddddddddddddd')# logger.info(’fee=’+ str(fee) + 'trade_amount'+ str(data[’trade_amount’]))#logger.info(’fee=’ + 'trade_amount'+ data[’trade_amount’],)logger.info(’fee ={0}+'trade_amount'’.format(data[’trade_amount’]))>>>>import log start2020-05-25 15:27:26,286 - log_level.py:17 - fee =100+'trade_amount'import log end

修改代码

日志的等级打印正常

print 'import log start'import loggingimport datetimedate = datetime.datetime.strftime(datetime.datetime.now(), ’%Y%m%d’)filename = date + ’.log’fmt = ’%(asctime)s - %(filename)s:%(lineno)s - %(message)s’formatter = logging.Formatter(fmt)logger = logging.getLogger(’myloger’)logger.setLevel(logging.DEBUG)console_level = 'INFO'handler_level = 'DEBUG'# logging.basicConfig(level=logging.DEBUG)handler_file = logging.FileHandler(filename)handler_file.setFormatter(formatter)handler_file.setLevel(handler_level)handler_console = logging.StreamHandler()handler_console.setFormatter(formatter)handler_console.setLevel(console_level)# 给logger添加handlerlogger.addHandler(handler_file)logger.addHandler(handler_console)

总结

到此这篇关于python 日志模块 日志等级设置失效的解决方案的文章就介绍到这了,更多相关python 日志模块 日志等级内容请搜索好吧啦网以前的文章或继续浏览下面的相关文章希望大家以后多多支持好吧啦网!

标签: Python 编程
相关文章: