python 日志模块 日志等级设置失效的解决方案
作者:MJ_LJY 发布时间:2022-01-25 07:27:19
标签: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 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


猜你喜欢
- jupyter notebook 自定义python解释器jupyter notebook 和虚拟环境的好处就不多废话了jupyter no
- 简介rpc:远程过程调用协议。简单的来说就是客户端可以很方便得远程调用服务端的接口程序,而不用管底层是如何实现的。XML-RPC的全称是XM
- 计算字符长度的js函数function LEN(str){ var i,sum=0; for(i=0;i<str.length;i++
- 一个将人民币数字转化为大写的asp函数,可以准确读出数字的大写,而不是简单的将数字翻译为大写。有了这个工具大家就可以很方便的写出大写的人民币
- 一、实验目的(1)熟练使用Counter类进行统计(2)掌握pandas中的cut方法进行分类(3)掌握matplotlib第三方库,能熟练
- 当代码已经写得差不多,发现某个变量名需要修改,但代码中很多地方都有该变量,一一修改太麻烦了,在不同的情景下,可以采取更加简便的方法,如下介绍
- 看代码吧~predict = output.argmax(dim = 1)confusion_matrix =torch.zeros(2,2
- 这篇文章主要介绍了Python enumerate函数遍历数据对象组合过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定
- 之前自己也遇到过一次,这段时间在群里也遇到过几次的一个问题用python2.7写的一段程序,里面用到了字典推导式,但是服务器版本是pytho
- 记得以前的windows 任务定时是可以的正常使用的,今天试了下,发现不能正常使用了,任务计划总是挂起。接下来记录下python 爬虫定时任
- 实现一个不规则窗体这里我们实现一个圆形窗体,实现其他形状的窗体与这个方法类似。首先,把窗口的高度(height)和宽度(width)值修改为
- 问题: 1. 后台管理员只有一个用户: admin, 密码: admin 2. 当管理员登陆成功后, 可以管理前台会员信
- 最近在使用webpack + vue做个人娱乐项目时,发现npm run build后,css js img静态资源文件均找不到路径,报40
- 创建NumPy矩阵NumPy对于多维数组的运算,默认情况下并不进行矩阵运算。如果需要对数组进行矩阵运算,则可以调用相应的函数。在NumPy中
- 本文实例讲述了python写入中英文字符串到文件的方法。分享给大家供大家参考。具体分析如下:python中如果使用系统默认的open方法打开
- 代码片段一:alert(Function instanceof Object); // truealert(Object instanceo
- 一、弱网简介弱网看字面意思就是网络比较弱,我们通称为信号差,网速慢。1、弱网的影响在地铁、隧道、电梯和车库等场景下使用APP ,网络会出现延
- 一、argparse介绍官方文档argparse 模块是 Python 内置的一个用于命令项选项与参数解析的模块,argparse 模块可以
- 在keras中,数据是以张量的形式表示的,不考虑动态特性,仅考虑shape的时候,可以把张量用类似矩阵的方式来理解。例如[[1],[2],[
- 打开cmder1.移动到D盘输入命令:D:2.创建文件夹λ mkdir myApp3.创建python自带的虚拟环境λ python -m