大蟒模块之记录模块
logging日志模块
日志模块的内容很多但需要掌握的很少(会用即可) # 个人观点
导入日志记录
# 日志有五个等级(从上往下重要程度不一样)
# logging.debug('debug级别') # 10
# logging.info('info级别') # 20
# logging.warning('warning级别') # 30
# logging.error('error级别') # 40
#登录。关键('关键级别') # 50
'''默认记录的级别在30及以上''
# 简单使用
导入日志记录
file_handler=日志记录. FileHandler(文件名='x1.log ',模式='a ',编码='utf-8 ',)
logging.basicConfig(
format=' %(ASC时间)s-%(名称)s-%(级别名称)s-%(模块)s 3360%(消息),
datefmt=' % Y-% m-% d % h :% m :% S % p ',
handlers=[file_handler,],
级别=日志记录。错误
)
logging.error('日志模块很好学不要自己吓自己)
'''
1.如何控制日志输入的位置
想在文件和终端中同时打印
2.不同位置如何做到不同的日志格式
文件详细一些终端简单一些
'''
日志模块详细介绍
导入日志记录
# 1 .记录器对象:负责产生日志
logger=logging.getLogger('转账记录)
# 2 .过滤器对象:负责过滤日志(直接忽略)
# 3 .处理程序对象:负责日志产生的位置
hd1=日志记录. FileHandler('a1.log ',编码='utf8') #产生到文件的
hd2=日志记录. FileHandler('a2.log ',编码='utf8') #产生到文件的
hd3=日志记录StreamHandler() #产生在终端的
# 4 .格式化程序对象:负责日志的格式
fm1=日志记录。格式化程序(
fmt=' %(ASC时间)s-%(名称)s-%(级别名称)s-%(模块)s 3360%(消息),
datefmt=' % Y-% m-% d % h :% m :% S % p ',
)
fm2=记录。格式化程序(
fmt=' %(截止时间)s-%(名称)s %(消息),
datefmt='%Y-%m-%d ',
)
# 5.绑定处理者对象
logger.addHandler(hd1)
logger.addHandler(hd2)
logger.addHandler(hd3)
# 6.绑定格式程序对象
hd1.setFormatter(fm1)
hd2.setFormatter(fm2)
hd3.setFormatter(fm1)
# 7.设置日志等级
logger.setLevel(30)
# 8.记录日志
logger.debug('写了半天好累啊好热啊)
配置字典
######## 这里核心就在于复制粘贴(简历大法)
导入日志记录
导入日志记录。配置
standard _ format='[%(作为时间)s][%(线程名)s 3360%(线程)d][task _ id :%(名称)s][%(文件名)s 3360%(行号)d]' \
[%(级别名)][%(消息)]#其中名字为getlogger指定的名字
simple _ format='[%(级别名)s][%(ASC时间)s][%(文件名)s 3360%(行号)d]%(消息)
logfile_path='a3.log '
#日志配置字典
LOGGING _ DIC={
版本' : 1,
disable _ existing _ logger ' : False,
格式化程序' : {
标准' : {
格式' :标准_格式
},
simple': {
格式:简单_格式
},
},
过滤器' : {},#过滤日志
handlers': {
#打印到终端的日志
控制台' : {
级别: 'DEBUG ',
类":"日志记录StreamHandler ',#打印到屏幕
格式化程序' : '简单'
},
#打印到文件的日志,收集信息及以上的日志
默认' : {
级别: 'DEBUG ',
类“:”日志记录。经手人。旋转变速杆" #保存到文件
格式化程序' : '标准,
文件名' :日志文件_路径,#日志文件
最大字节数' : 1024*1024*5,#日志大小5M
备份计数' : 5,
编码: 'utf-8 ',#日志文件的编码,再也不用担心中文原木乱码了
},
},
伐木工的: {
#logging.getLogger(__name__)拿到的记录器配置空字符串作为键能够兼容所有的日志
'': {
处理程序' : ['默认','控制台',#这里把上面定义的两个处理者都加上,即原木数据既写入文件又打印到屏幕
级别: 'DEBUG ',
传播' :真,#向上(更高水平的记录器)传递
},#当密钥不存在时(密钥被设置为空字符串),默认情况下将使用此k:v配置
},
}
#使用配置字典
logging . config . dict config(logging _ DIC)#自动在字典中加载配置。
logger1=logging.getLogger('xxx ')
记录器1 .调试(“不要浮躁,努力就会有收获”)
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/126063.html