日志logging模块

日志是分级别的,一般分为以下五组级别

import logging
logging.debug ('debug message')
logging.info('info message')
logging.warning('warning message')
logging.error('error message')
logging.critical('critical message')

根据事件来分级,类似于天气预报的那种预警
如果以上五条信息都打印出来的话只会打印大于等于WARNING级别的,当然message可以随便写
如果使用logging的方法basicConfig就可以改变报警的等级:

logging.basicConfig(
	level = logging.DEBUG
	filename = ‘logger.log’
	)

如果在basicConfig使用filename这个关键字,然后给他定义一个名字,就会新生成一个日志文件,但是如果再运行一次,新生成的文件就会有5+5条信息,就和追加一样,但是如果想用w的模式就可以在filename下再使用一行filemode = ‘w’就可以覆盖原来的日志
其实就是灵活配置日志的级别和格式,有以下几种方法:

logging.basicConfig(
	level = logging.DEBUG,
	filename = "logger.log",
    filemode = "w",#将追加内容改为覆盖
    format="%(asctime)s %(message)s [%(lineno)d]"#显示时间等内容
	)

但是使用basiConfig的话不能让屏幕和日志文件同时显示(只能取其一)使用时不灵活

import logging
logger = logging.getLogger()#想用定义的logger拥有所有想用的功能
fh = logging.FileHandler("test_loggerr")#filehandler可以向文件发送内容
ch = logging.StreamHandler()#streamhandler可以向屏幕发送内容
fm = logging.Formatter("%(asctime)s %(message)s")#这是更改显示格式
fh.setFormatter(fm)
ch.setFormatter(fm)
logger.addHandler(fh)
logger.addHandler(ch)#将内容融入进logger
logger.setLevel("DEBUG")
logger.debug("hello")
logger.info('info')
logger.warning('warning')
logger.error('helerrorerrorlo')
logger.critical('critical')

这个可以在屏幕和文件中同时打印出来,如果需要调用,就可以把logger写成一个函数,最后return logger就可以调用了,但是如果有多个getLogger,就必须写不同的参数才可以正常打印两个,否则就会被第二个写的getlogger覆盖

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值