python 日志模块 日志等级设置失效的解决方案
代码问题:控制台和日志的文件的等级设置要放在
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") fromlogimportlogger logger.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添加handler logger.addHandler(handler_file) fromlogimportlogger fee=3 data={} 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'])) >>>> importlogstart 2020-05-2515:27:26,286-log_level.py:17-fee=100+"trade_amount" importlogend
修改代码
日志的等级打印正常
print"importlogstart" importlogging importdatetime date=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添加handler logger.addHandler(handler_file) logger.addHandler(handler_console)
总结
到此这篇关于python日志模块日志等级设置失效的解决方案的文章就介绍到这了,更多相关python日志模块日志等级内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!