python日志组件logging模块(二)
来源:互联网 发布:淘宝账号解封成功案例 编辑:程序博客网 时间:2024/06/18 04:54
在上一篇中介绍了logging日志的输出handler。使用的是直接构建logging输出日志的方式,实际开发中如果要想改变日志的输出方式还需要修改代码。本篇将使用配置文件的方式进行处理。主要使用的新的类是:logging.config,需要在文件的开头import进来。
一、logging.config介绍
Python的logging模块接口仿log4开发,概念上一致,使用方便。利用logging.config.fileConfig(),可以将日志的配置用文件来描述,简化日志初始化。
1、logging初始化文件配置接口
配置接口有两类,分别是:
logging.config.dictConfig(config)。配置字典模式
logging.config.fileConfig(fname, defaults=None, disable_existing_loggers=True) 配置文件模式
2、使用方式说明
字典配置方式:
相对于文件配置方式更加灵活,可以通过文件、程序内部构造以及接收socket的序列化消息,转换成字典配置信息方便使用。具体的使用方式如下:
with open('logging.yml', 'r') as f_conf:
dict_conf = yaml.load(f_conf)
logging.config.dictConfig(dict_conf)
logger = logging.getLogger('simpleExample')
logger.debug('debug message’)
文件配置方式
logging.config.fileConfig('logconfig.ini')
logger = logging.getLogger('product’)
logger.debug(msg)
3、配置文件组织方式
logging的配置文件,必须包含以下端:[loggers]、[handlers]、[formatters]
[loggers]:必须指定level和handlers这两个option,level的可取值为DEBUG、INFO、WARNING、ERROR、CRITICAL、NOTSET,其中NOTSET表示所有级别的日志消息都要记录。handlers中的定义必须都已经在[handlers]段中进行了配置。
[handlers]:必须指定class和args这两个option,level和formatter为可选option;class表示用于创建handler的类名,args表示传递给class所指定的handler类初始化方法参数;formatter定义了输出日志的格式的段名称,名称必须出现在formatters这个section中
[formatters]:定义了输出日志的格式
下面请看事例运行结果,获取完整脚本请搜索公众号:开发者VIP,点击关注后,发送log获取完整运行代码:
|DEBUG|43658|2017-10-27 15:27:06:27S|798|mylog.py|L_DEBUG|mylog|1000000
|DEBUG|43658|2017-10-27 15:27:06:27S|798|mylog.py|L_DEBUG|mylog|1000001
|DEBUG|43658|2017-10-27 15:27:06:27S|798|mylog.py|L_DEBUG|mylog|1000002
|DEBUG|43658|2017-10-27 15:27:06:27S|798|mylog.py|L_DEBUG|mylog|1000003
- python日志组件logging模块(二)
- python日志组件logging模块(一)
- python的logging日志模块(二)
- Python日志模块-logging
- Python日志模块logging
- Python 日志(logging)模块
- Python:logging日志模块
- python日志模块----logging
- python 日志模块 logging
- python(logging )日志模块
- python logging日志模块
- Python 日志logging模块
- python logging日志模块
- python日志模块---logging
- python 日志模块logging
- Python--日志模块Logging
- python logging日志模块
- Python logging 日志模块
- HDOJ 2117 Just a Numble
- 关于web项目run模式启动和debug模式启动的一些区别
- 史上最全的iOS各种设备信息获取总结(iPhone8/iPhone X 已更新)
- 百度AI开发者实战营,百度AI开发平台,PaddlePaddle深度学习架构,资料汇总
- -Dmaven.multiModuleProjectDirectory system property is not set. Check $M2_HO
- python日志组件logging模块(二)
- RecyclerView与自定义Adapter
- LiteOS之内存管理
- 第八周Maximum Subarray
- Android项目快速开发集成框架
- 利用jQuery实现加载公共头部和底部
- 存储过程和函数
- Android插件化开发之Hook StartActivity方法
- Spring-mybatis整合配置错误,显示不能创建spring配置文件中的sqlSessionFactory的Bean