zoukankan      html  css  js  c++  java
  • logging模块日志重复打印问题

    小问题解析

      今天练习中间件时 出现的小问题,分享一下,代码简陋,凑合看吧

      longgin 打印时 第一次打印一次日志 第二次打印两次日志,逐次递增 

    from django.utils.deprecation import MiddlewareMixin
    import logging
    lis =[]
    
    class Middlel(MiddlewareMixin):
    
        def process_request(self,request):
            lis.append(request.META)
            for i in lis:
                log = i['HTTP_USER_AGENT']
    
            logger = logging.getLogger()
            logger.setLevel(logging.INFO)
            fh = logging.FileHandler("1.log")
            fh.setLevel(logging.DEBUG)
    
    
            formatter = logging.Formatter("%(asctime)s - %(filename)s[line:%(lineno)d] "
                                          "- %(levelname)s: %(message)s")
            fh.setFormatter(formatter)
            logger.addHandler(fh)
            logger.critical(log)

    更改后的代码 

    from django.utils.deprecation import MiddlewareMixin
    import logging
    lis =[]
    logger = logging.getLogger()
    logger.setLevel(logging.INFO)
    fh = logging.FileHandler("1.log")
    fh.setLevel(logging.DEBUG)
    class Middlel(MiddlewareMixin):
    
        def process_request(self,request):
            lis.append(request.META)
            for i in lis:
                log = i['HTTP_USER_AGENT']
    
    
            formatter = logging.Formatter("%(asctime)s - %(filename)s[line:%(lineno)d] "
                                          "- %(levelname)s: %(message)s")
            fh.setFormatter(formatter)
            logger.addHandler(fh)
            logger.critical(log)

    将 实例化个对象 设定对象等级  写入那个文件  写入文件时触发的等级 四句话 挪到类上边就行。 

  • 相关阅读:
    luogu_1659【题解】manacher 啦啦队排练
    manacher算法
    luogu_4503【题解】企鹅QQ 哈希
    luogu_3966【题解】单词 AC自动机
    字符串 AC自动机
    luogu_3275【题解】糖果 差分约束
    luogu_4568 飞行路线 分层图
    luogu_4551【题解】最长异或路径 trie树
    luogu_1041【题解】搜索 传染病控制
    [题解/模板]扫描线
  • 原文地址:https://www.cnblogs.com/qiang-qiang/p/9910631.html
Copyright © 2011-2022 走看看