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')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 日志模塊 日志等級內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章: