博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
logging模块配置笔记
阅读量:7250 次
发布时间:2019-06-29

本文共 2911 字,大约阅读时间需要 9 分钟。

log文件的路径

#判断在当前的目录下是否有一个logs文件夹。没有则创建 log_dir = os.path.dirname(os.path.dirname(__file__))+'/logs' if not os.path.exists(log_dir):     os.mkdir(log_dir)

设定log文件名

#在上述的文件夹生成web.log文件 log_path = os.path.join(log_dir, 'web.log')

dictConfig通用参数配置

version版本号
'version': 1.0#固定值1.0
formatters日志格式设置
 'format': formatter的格式,字符串,比如'%(levelname)s-%(message)s'  'datefmt': 日期的输出格式,字符串,比如'%Y-%m-%d %H:%M:%S'
然后看下面一个配置
'formatters': {
        'detail': {
#detail自定义一个格式名字             'format': '%(asctime)s - %(name)s - %(levelname)s - %(message)s',             'datefmt': "%Y-%m-%d %H:%M:%S"         },         'simple': {
#同detail自定义一个格式名字,这里定义另一种格式             'format': '%(name)s - %(levelname)s - %(message)s',         },     }
handlers日志格式设置
然后看下面一个配置
    'handlers': {
        'console': {
#console是自定义的handlers名字             'class': 'logging.StreamHandler',#构造handler使用的类,字符串,必须使用全路径             'level': 'INFO',#级别             'formatter': 'detail'#上面的detail格式         },         'file': {
#file是自定义的handlers名字             'class': 'logging.handlers.RotatingFileHandler',             'maxBytes': 1024 * 1024 * 5,#每个日志文件最大5M,超过之后重新命名一个文件             'backupCount': 10,#最多备份10个日志文件,             'filename': log_path,#上面定义的log文件名             'level': 'INFO',             'formatter': 'detail',             'encoding': 'utf-8',         },
loggers

必须指定一个级别和handlers列表

    'loggers': {
        'crawler': {
#crawler是自定义的日志对象名字             'handlers': ['console', 'file'],#输出方式             'level': 'DEBUG',#级别         },         'parser': {
            'handlers': ['file'],#输出方式             'level': 'INFO',#级别         }     }

以上日志配置综合

log_config = {
    'version': 1.0,     'formatters': {
        'detail': {
            'format': '%(asctime)s - %(name)s - %(levelname)s - %(message)s',             'datefmt': "%Y-%m-%d %H:%M:%S"         },         'simple': {
            'format': '%(name)s - %(levelname)s - %(message)s',         },     },     'handlers': {
        'console': {
            'class': 'logging.StreamHandler',             'level': 'INFO',             'formatter': 'detail'         },         'file': {
            'class': 'logging.handlers.RotatingFileHandler',             'maxBytes': 1024 * 1024 * 5,             'backupCount': 10,             'filename': log_path,             'level': 'INFO',             'formatter': 'detail',             'encoding': 'utf-8',         },     },     'loggers': {
        'crawler': {
            'handlers': ['console', 'file'],             'level': 'DEBUG',         },         'parser': {
            'handlers': ['file'],             'level': 'INFO',         }     } }

创建日志对象使用

1.通过调用dictConfig(config)方法进行配置,config对象为一个dict

log_conf.dictConfig(log_config)

2.生成不同的日志对象

crawler = logging.getLogger('crawler') parser = logging.getLogger('parser')

3.打印不同级别的log

常用的两种

crawler.error(错误信息) crawler.info(字符串)

转载地址:http://vrhbm.baihongyu.com/

你可能感兴趣的文章
iOS开发那些事-iOS网络编程同步GET方法请求编程
查看>>
pycharm,vim,items2常用快捷键
查看>>
Flask blueprint蓝图按功能模块化架构实例
查看>>
数据支撑环境的改造
查看>>
ifconfig 命令用来查看和配置网络设备
查看>>
用 netstat 查看 TCP 网络状态详解
查看>>
JVM 调优总结:一些概念
查看>>
HTML5:使用Lawnchair库存储JSON
查看>>
如何设计秒杀系统
查看>>
屏蔽USB设备的几种方法
查看>>
zen cart 特价商品列表页中加入排序选择
查看>>
配置Pycharm4.5.4调试edX Devstack
查看>>
Nginx+Tomcat负载均衡配置
查看>>
symbol AP5131重置密码和恢复出厂设置
查看>>
自定义一个jdbc框架
查看>>
[SHELL]shell scripts笔记(2)
查看>>
redis 客户端工具
查看>>
Apache禁止用IP非法域名访问网站
查看>>
监控服务篇---zabbix安装部署步骤
查看>>
nagios 远程Mysql 监控 PHP图表
查看>>