logging模块配置笔记

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: log文件的路径#判断在当前的目录下是否有一个logs文件夹。没有则创建log_dir = os.path.dirname(os.path.dirname(__file__))+'/logs'if not os.

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(字符串)
相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
目录
相关文章
|
消息中间件 存储 canal
3分钟白话RocketMQ系列—— 如何保证消息不丢失
3分钟白话RocketMQ系列—— 如何保证消息不丢失
4592 1
|
存储 Kubernetes 调度
在k8S中,共享存储的作用是什么?
在k8S中,共享存储的作用是什么?
|
数据采集 DataWorks 监控
DataWorks产品使用合集之在 DataWorks 中将本地数据导入至 Excel 电子表格中如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
281 0
|
消息中间件 算法 Kafka
流计算引擎数据正确性的挑战
按:去年此时发表了一篇文章 《流计算引擎数据一致性的本质》,主要论述了流计算引擎中的数据一致性问题,事实上,该文章只能算作流计算数据一致性的上篇,如何通过流计算中得到真正准确、符合业务语义的数据,需要作进一步阐述。强迫症接受不了这种半拉子工程,所以今年还是陆陆续续把下篇(流计算引擎数据正确性的挑战) 撰写完成。上下两篇文章的主要论点,分别对应了流计算领域中的两大难题:端到端一致性和完整性推理。
|
XML JSON 安全
【BP靶场portswigger-服务端10】XML外部实体注入(XXE注入)-9个实验(全)(上)
【BP靶场portswigger-服务端10】XML外部实体注入(XXE注入)-9个实验(全)(上)
389 0
【BP靶场portswigger-服务端10】XML外部实体注入(XXE注入)-9个实验(全)(上)
线段树模板
线段树模板
76 0
|
算法 关系型数据库 芯片
MDK 用Jlink调试无法使用断点
MDK 用Jlink调试无法使用断点
1099 0
MDK 用Jlink调试无法使用断点
|
缓存 开发工具 芯片
ZYNQ-AXI GPIO使用(一)
ZYNQ-AXI GPIO使用
1668 1
ZYNQ-AXI GPIO使用(一)
|
前端开发 应用服务中间件 Linux
Nginx配置指南:如何定位、解读与优化Linux上的Nginx设置
Nginx配置指南:如何定位、解读与优化Linux上的Nginx设置
411 0
|
弹性计算 Ubuntu Linux
关于使用阿里云飞天计划免费ECS的收获和感想
本文主要是我个人在阿里云飞天计划过程中的一些体验、感想和对该服务的评价。 感谢阿里云提供的免费ECS服务!
535 0