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

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條評論
主站蜘蛛池模板: 亚洲精品一区二区三区在线播放 | 成熟的女性强烈交性视频 | 亚洲人成一区二区不卡 | 狠狠色噜噜狠狠狠狠色吗综合 | 欧美色图一区二区 | 亚洲欧美18v中文字幕高清 | 日韩欧美一区二区三区不卡 | 五月天婷婷网址 | 欧美干干 | 91福利社| 久久国产精品影院 | 久久这里只有 | 国产精品青草久久福利不卡 | 中文字幕久久综合伊人 | 日本老乱video| 在线观看日本免费视频大片一区 | 色婷婷久久免费网站 | 国产视频毛片 | 欧美一级片在线免费观看 | 再猛点深使劲爽日本免费视频 | 国产欧美日韩综合精品一区二区 | 日韩色视频一区二区三区亚洲 | 天天操夜夜夜 | 色综合视频在线 | 日韩欧美日本 | 老色99久久九九精品尤物 | 波多野结衣高清在线播放 | 免费特黄一级欧美大片 | 在线成人免费观看国产精品 | 亚洲最新视频在线观看 | 一级做受视频免费是看美女 | 女人国产香蕉久久精品 | 人成午夜免费大片在线观看 | 久久国产乱子伦精品免费一 | 亚洲精品中文字幕不卡在线 | 欧美综合天天夜夜久久 | 欧美第一视频 | 日韩毛片欧美一级a网站 | 久久高清影院 | 色精品视频| 99热这里只有免费国产精品 |