亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

0x02 Python logging模塊利用配置加載logger

系統 1538 0

目錄

  • logging模塊利用配置加載logger
    • 方式一模板:logging.config.dictConfig(config_dict)

logging模塊利用配置加載logger

logging.config模塊提供了從配置加載創建logger等相關對象,并放入manager對象中進行緩存待用。所以記錄下一般幾種方式配置的范本模式,方便項目中copy直接修改使用。

dict config references 官檔關于logging配置字典說明

方式一模板:logging.config.dictConfig(config_dict)

config_dict 字典模板

          
                cfg = {
        'version': 1,
        'formatters': {
            'detailed': {
                'class': 'logging.Formatter',
                'format': '%(asctime)s %(name)-15s %(levelname)-8s %(processName)-10s %(message)s'
            }
        },
        'handlers': {
            'console': {
                'class': 'logging.StreamHandler',
                'level': 'INFO',
            },
            'file': {
                'class': 'logging.FileHandler',
                'filename': 'mplog.log',
                'mode': 'w',
                'formatter': 'detailed',
            },
            'foofile': {
                'class': 'logging.FileHandler',
                'filename': 'mplog-foo.log',
                'mode': 'w',
                'formatter': 'detailed',
            },
            'errors': {
                'class': 'logging.FileHandler',
                'filename': 'mplog-errors.log',
                'mode': 'w',
                'level': 'ERROR',
                'formatter': 'detailed',
            },
        },
        'loggers': {
            'foo': {
                'handlers': ['foofile']
            }
        },
        'root': {
            'level': 'DEBUG',
            'handlers': ['console', 'file', 'errors']
        },
    }

          
        

模板二:

          
            LOGGER_CONFIG_DICT = {
        'version': 1,
        'formatters': {
            'detailed_fmt': {
                'class': 'logging.Formatter',
                'format': '%(asctime)s %(created)s %(levelname)-6s %(name)-15s %(processName)s:%(threadName)s %(message)s'
                #  human-readable  timestamp levelname logger_name  processname threadname  message
            },
            'simple_fmt': {
                'class': 'logging.Formatter',
                'format': '%(asctime)s %(levelname)-8s %(name)-15s %(message)s'
                #  human-readable  levelname logger_name message
            },
            'portal_fmt': {
                'class': 'logging.Formatter',
                # 'datefmt': '%Y-%m-%d %H:%M:%S,uuu',  # 實際默認格式就是這個
                'format': '%(asctime)s %(levelname)-8s %(name)-15s  %(processName)-10s %(message)s'
            },
            'system_fmt': {
                'class': 'logging.Formatter',
                'format': '%(asctime)s %(name)-15s %(levelname)-8s %(processName)-10s %(message)s'
            },
        },
        'handlers': {
            # 'console_hd': {
            #     'class': 'logging.StreamHandler',
            #     'level': 'INFO'
            # },
            'time_rotate_file_hd': {
                'class': 'logging.handlers.TimedRotatingFileHandler',
                'filename': './logs/selfservices1.log',
                'when': 'M',
                'interval': 5,
                'backupCount': 100,
                'formatter': 'simple_fmt'
            },
            'file_size_rotate_hd': {
                'class': 'logging.handlers.RotatingFileHandler',
                'filename': './logs/portal.log',
                'mode': 'a',
                'maxBytes': 1024 * 1024 * 5,
                'backupCount': 50,
                'formatter': 'portal_fmt'
            },
            'errors_hd': {
                'class': 'logging.FileHandler',
                'filename': './logs/errors.log',
                'formatter': 'detailed_fmt',
                'level': 'ERROR'  # 只會錯誤40及以上的日志
            },
            'system_hd': {
                'class': 'logging.FileHandler',
                'filename': './logs/system.log',
                'formatter': 'simple_fmt'
            }
        },
        'loggers': {
            'selfservices': {
                'level': 'INFO',
                'handlers': ['file_size_rotate_hd', 'errors_hd']
                # 'handlers': ['time_rotate_file_hd', 'file_size_rotate_hd', 'errors_hd']
            }
        },
        'root': {
            'level': 'DEBUG',
            'handlers': ['system_hd', 'errors_hd']
        },
    }
          
        

更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!?。?/p>

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 四虎hu | 欧美a在线视频 | 日韩人成 | 国产精品成人观看视频网站 | 亚洲 欧洲 自拍 另类 校园 | 日韩欧美国产卡通动漫 | 亚洲一区播放 | 欧美成人交tv免费观看 | 久久精品免费一区二区视 | 久青草免费视频手机在线观看 | 精品1区2区3区 | 国产精品21区 | 国产一区二区在线 |播放 | 小h片在线播放 | 欧美顶级毛片在线播放 | 成人久久视频 | a级片免费在线播放 | 91欧美 | 国产亚洲精品久久久久久牛牛 | 久久精品一区二区免费看 | 久久不卡一区二区三区 | 一级毛片aa | 中文字幕视频在线免费观看 | 亚洲成人在线视频 | 久 在线播放 | 色婷婷精品大视频在线蜜桃视频 | 看日本真人一一级特黄毛片 | 亚洲va在线va天堂va手机 | 国产99青草全福视在线 | 狠狠色先锋资源网 | 一本大道香蕉高清久久 | 国产天天射 | 国产伦久视频免费观看 视频 | 国产精品v一区二区三区 | 波多野结衣中文字幕一区 | 亚洲国产伦理 | 99精品久久久久久久婷婷 | 日韩欧免费一区二区三区 | 色综合久久综合 | 在线a亚洲视频播放在线观看 | 久久综合久久美利坚合众国 |