day19

今日所學:python

logging模塊函數

操做日誌的模塊
 日誌:平常的流水,將程序運行過程當中的狀態或數據進行記錄,通常都是記錄到日誌文件中
在正常的項目中,項目運行的一些打印信息,採用looging打印到文件中,這個過程就稱之爲 記錄日誌測試

可在logging.basicConfig()函數中經過具體參數來更改logging模塊默認行爲,可用參數有
filename:用指定的文件名建立FiledHandler(後邊會具體講解handler的概念),這樣日誌會被存儲在指定的文件中。
filemode:文件打開方式,在指定了filename時使用這個參數,默認值爲「a」還可指定爲「w」。
format:指定handler使用的日誌顯示格式。
datefmt:指定日期時間格式。
level:設置rootlogger(後邊會講解具體概念)的日誌級別優化

 

日誌就是記錄平常流水,即日誌文件程序運行過程中的數據,優化程序,跟好的服務用戶導入模塊 import logging 輸出日誌 logging.info('info')        # 常規信息        20 logging.debug("debug")       # 調試信息        10logging.warning("warning")    # 警告信息        30logging.error("error")         #    錯誤信息    40 logging.critical("critical")    #   嚴重錯誤    50    fatal同樣   用數字來表示級別,數字越大級別越高      默認級別爲warning,對應數字爲30 五種打印級別信息,級別自己沒有表明信息重要性,只表示它打印的給它附屬的,沒有實際意義 1,日誌被打印到控制檯  2,日誌輸出的格式爲級別  3,日誌生成器名稱,日誌消息 日誌的配置:     loggin 四大成員 logging .basicConfig()     函數中經過具體參數來更改logging模塊默認行爲,可用參數有1  新建打印者 logger=logging.getLogger('owen')        生成器    loggin.getLogger('日誌對象1')     #logger:產生日誌的對象2,  建立句柄:輸出的位置 logger.critical('msg')ster_hand = logging.StreamHandler()       控制檯句柄      用一個名字接受控制檯句柄Handler:接收日誌而後控制打印到不一樣的地方,FileHandler用來打印到文件中,StreamHandler用來打印到終端a_file_hand = logging.FileHandler('a.log')   文件句柄  若是有中文  handler1 = logging.FileHandler("文件名1",encoding="utf-8") b_file_hand = logging.FileHandler('b.log')    文件句柄  若是有中文  handler1 = logging.FileHandler("文件名2",encoding="utf-8")  3.打印者綁定句柄logger.addHandler(ster_hand )         綁定生成器logger.addHandler(a_file_hand)       綁定文件句柄logger.addHandler(b_file_hand)         綁定文件句柄設置格式fmt1 = logging.Formatter('%(asctime)s-%(msg)s')   Formatter對象:能夠定製不一樣的日誌格式對象,而後綁定給不一樣的Handler對象使用,以此來控制不一樣的Handler的日誌格式fmt2 = logging.Formatter('%(asctime)s [%(name)s]-%(msg)s') 爲句柄綁定輸出格式ster_hand.setFormatter(fmt1)            綁定格式化對象a_file_hand.setFormatter(fmt1)         綁定格文件句柄b_file_hand.setFormatter(fmt2)         綁定文件句柄 logger.critical('msg')        測試 及輸出日誌logging.info('info')        常規信息        20 logging.debug("debug")       調試信息        10 logging.warning("warning")     警告信息        30  logging.error("error")            錯誤信息    40  logging.critical("critical") 1.配置LOGGING_DIC = {    'version': 1,    'disable_existing_loggers': False,    'formatters': {        'o_fmt1': {            'format': '%(name)s:%(asctime)s - %(message)s'        },        'o_fmt2': {            'format': '%(name)s:%(asctime)s [%(levelname)s] - %(message)s'        }    },    'filters': {},    'handlers': {        'o_cmd': {            'level': 'DEBUG',                    控制檯級別            'class': 'logging.StreamHandler',     控制檯句柄            'formatter': 'o_fmt1'                 控制檯格式        },        'o_file': {            'level': 'WARNING',                 文件中級別            'class': 'logging.handlers.RotatingFileHandler',     文件最多存的字節數            'formatter': 'o_fmt2',      文件格式            'filename': r'F:\python8期\課堂內容\day20\代碼\part4\logging.log',   日誌文件 路徑            'maxBytes': 1024*1024*5,   日誌大小 5M            'backupCount': 5, 日誌文件最大個數            'encoding': 'utf-8',   日誌文件的編碼        }    },    'loggers': {        'o_owen': {            'level': 'DEBUG',            級別            'handlers': ['o_cmd', 'o_file']        },        'o_zero': {            'level': 'DEBUG',            'handlers': ['o_file']        }    }}2.加載配置import logging.configlogging.config.dictConfig(LOGGING_DIC) 3.使用log = logging.getLogger('o_owen')log.warning('123')
相關文章
相關標籤/搜索