如何解决Python日志模块中日志等级设置不生效的问题?

2026-06-10 21:11:11 811阅读 0评论 SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计497个文字,预计阅读时间需要2分钟。

代码问题:控制台和日志文件的等级设置要放在 `logger=logging.getLogger('mylogger')` 实例化之后,否则会被logger默认的配置所替代。问题:当前日志模块的等级设置失效。现象:`console_level`

如何解决Python日志模块中日志等级设置不生效的问题?

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

logger = logging.getLogger('myloger')

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

如何解决Python日志模块中日志等级设置不生效的问题?

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

现象:

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 logger 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) from log import logger 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'])) >>>> import log start 2020-05-25 15:27:26,286 - log_level.py:17 - fee =100+"trade_amount" import log end

修改代码

日志的等级打印正常

print "import log start" import logging import datetime 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 日志模块 日志等级内容请搜索易盾网络以前的文章或继续浏览下面的相关文章希望大家以后多多支持易盾网络!

本文共计497个文字,预计阅读时间需要2分钟。

代码问题:控制台和日志文件的等级设置要放在 `logger=logging.getLogger('mylogger')` 实例化之后,否则会被logger默认的配置所替代。问题:当前日志模块的等级设置失效。现象:`console_level`

如何解决Python日志模块中日志等级设置不生效的问题?

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

logger = logging.getLogger('myloger')

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

如何解决Python日志模块中日志等级设置不生效的问题?

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

现象:

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 logger 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) from log import logger 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'])) >>>> import log start 2020-05-25 15:27:26,286 - log_level.py:17 - fee =100+"trade_amount" import log end

修改代码

日志的等级打印正常

print "import log start" import logging import datetime 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 日志模块 日志等级内容请搜索易盾网络以前的文章或继续浏览下面的相关文章希望大家以后多多支持易盾网络!