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

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條評論
主站蜘蛛池模板: 一区二区三区四区产品乱码伦 | 91精品啪在线观看国产老湿机 | 国产美女久久精品香蕉69 | 99久久香蕉国产综合影院 | 国产精品一国产精品免费 | 一级毛片真人不卡免费播 | 久久一日本道色综合久久 | 精品毛片| 四虎高清在线精品免费观看 | 国产一区在线观看免费 | 国产日产久久 | 国产高清专区 | 99久久综合狠狠综合久久 | 久久久久久久综合色一本 | 99久久亚洲综合精品网站 | 狠狠色婷婷综合天天久久丁香 | 国产日韩精品一区在线观看播放 | 亚洲国产精品欧美综合 | 亚洲高清在线观看视频 | 久久精品国产影库免费看 | 97国产在线播放 | 国产在线91 | 欧美中文字幕一二三四区 | 免费网站看v片在线成人国产系列 | 国产第一亚洲 | 99爱视频在线 | 国产欧美日韩在线观看 | 五月久久亚洲七七综合中文网 | 欧美精品亚洲人成在线观看 | 亚洲成人免费看 | 国产成人一区二区三区在线视频 | 天天操天天插天天干 | 大片在线播放日本一级毛片 | 久热国产精品 | 久久天天躁狠狠躁夜夜呲 | 亚洲日韩aⅴ在线视频 | 亚洲精品高清在线一区二区三区 | 天天射日日操 | 97精品国产综合久久久久久欧美 | 青青青国产在线手机免费观看 | 夜夜艹天天干 |