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

作者:MJ_LJY 时间:2022-01-25 07:27:19 

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


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 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)

来源:https://blog.csdn.net/mjljy0379/article/details/106334248

标签:python,日志模块,日志等级
0
投稿

猜你喜欢

  • JS重现80后儿时经典拼板(模板)游戏

    2011-09-11 18:36:46
  • selenium+python 去除启动的黑色cmd窗口方法

    2023-06-07 10:56:27
  • Oracle 数据库操作类

    2023-07-24 06:58:42
  • 解决python 读取npy文件太大不能完全显示的问题

    2021-08-20 12:07:19
  • 解决Jupyter Notebook使用parser.parse_args出现错误问题

    2023-05-09 17:41:42
  • Microsoft SQL Server数据库开发问题详解

    2009-10-23 14:16:00
  • 对python 操作solr索引数据的实例详解

    2023-11-02 16:18:19
  • CSS样式表中SPAN和DIV的区别

    2007-10-21 08:47:00
  • python调用Delphi写的Dll代码示例

    2023-07-25 09:33:53
  • HTML5拿什么取代Flash?

    2010-05-10 20:37:00
  • 人生苦短我用python python如何快速入门?

    2021-06-01 03:57:09
  • keras中模型训练class_weight,sample_weight区别说明

    2021-09-17 06:23:18
  • ASP实现GB2312转UTF-8函数

    2009-02-26 13:08:00
  • python2.7 安装pip的方法步骤(管用)

    2022-02-11 06:28:43
  • Python中itertools的用法详解

    2022-06-05 13:34:52
  • php写入mysql中文乱码的实例解决方法

    2023-10-10 01:36:49
  • 使用fdopen实现对Python进程产生的文件进行权限最小化配置

    2021-04-20 15:49:05
  • python去除空格,tab制表符和\\n换行符的小技巧分享

    2022-05-12 14:20:39
  • Pytest allure 命令行参数的使用

    2022-04-12 17:06:19
  • 两侧背景自动延伸的CSS实现方法

    2010-02-24 09:42:00
  • asp之家 网络编程 m.aspxhome.com