项目日志模块logging

  • setting.py配置日志各参数
  • # coding: utf-8
    # @Author: 小飞有点东西
    # 日志配置字典
    LOGGING_DIC = {
        'version': 1.0,
        'disable_existing_loggers': False,
        # 日志格式
        'formatters': {
            'standard': {
                'format': '%(asctime)s %(threadName)s:%(thread)d [%(name)s] %(levelname)s [%(pathname)s:%(lineno)d] %(message)s',
                'datefmt': '%Y-%m-%d %H:%M:%S',
            },
            'simple': {
                'format': '%(asctime)s [%(name)s] %(levelname)s  %(message)s',
                'datefmt': '%Y-%m-%d %H:%M:%S',
            },
            'test': {
                'format': '%(asctime)s %(message)s',
            },
            'test1': {
                'format': '%(asctime)s %(message)s',
            },
        },
        'filters': {},
        # 日志处理器
        'handlers': {
            'console_debug_handler': {
                'level': 'DEBUG',  # 日志处理的级别限制
                'class': 'logging.StreamHandler',  # 输出到终端
                'formatter': 'simple'  # 日志格式
            },
            'file_info_handler': {
                'level': 'INFO',
                'class': 'logging.handlers.RotatingFileHandler',  # 保存到文件,日志轮转
                'filename': 'abc.log',
                'maxBytes': 800,  # 日志大小 10M
                'backupCount': 3,  # 日志文件保存数量限制
                'encoding': 'utf-8',
                'formatter': 'standard',
            },
            'file_debug_handler': {
                'level': 'DEBUG',
                'class': 'logging.FileHandler',  # 保存到文件
                'filename': 'test.log',  # 日志存放的路径
                'encoding': 'utf-8',  # 日志文件的编码
                'formatter': 'test',
            },
            'file_deal_handler': {
                'level': 'INFO',
                'class': 'logging.FileHandler',  # 保存到文件
                'filename': 'deal.log',  # 日志存放的路径
                'encoding': 'utf-8',  # 日志文件的编码
                'formatter': 'standard',
            },
            'file_operate_handler': {
                'level': 'INFO',
                'class': 'logging.FileHandler',  # 保存到文件
                'filename': 'operate.log',  # 日志存放的路径
                'encoding': 'utf-8',  # 日志文件的编码
                'formatter': 'standard',
            },
        },
        # 日志记录器
        'loggers': {
            'logger1': {  # 导入时logging.getLogger时使用的app_name
                'handlers': ['console_debug_handler'],  # 日志分配到哪个handlers中
                'level': 'DEBUG',  # 日志记录的级别限制
                'propagate': False,  # 默认为True,向上(更高级别的logger)传递,设置为False即可,否则会一份日志向上层层传递
            },
            'logger2': {
                'handlers': ['console_debug_handler', 'file_debug_handler'],
                'level': 'INFO',
                'propagate': False,
            },
            '': {
                'handlers': ['console_debug_handler', 'file_info_handler'],
                'level': 'INFO',
                'propagate': False,
            },
            '用户操作': {
                'handlers': ['console_debug_handler', 'file_operate_handler'],
                'level': 'INFO',
                'propagate': False,
            },
        }
    }
    

    项目中使用

  • import logging.config
    import settings
    
    logging.config.dictConfig(settings.LOGGING_DIC)
    logger1 = logging.getLogger('logger1')
    logger2 = logging.getLogger('logger2')
    
    logger1.info("这是logger1信息")
    logger2.info("这是咯gger2信息")

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值