天天看點

python syslog 接口_python接口測試之日志功能

之前在簡書中看了一篇關于日志功能的文檔,供大家參考:https://www.jianshu.com/p/62f7b49b41e7

Python通過logging子產品提供日志功能,是以直接導入即可

import logging

1.定義日志收集器,指定收集器的名稱,傳回logging對象

case_logger = logging.getLogger('case')

2.指定日志收集器的日志等級,NOTEST(0) DEBUG(10) INFO(20) WARNING(30) ERROR(40) CRITICAL(50)

注意:日志的等級和收集器的等級,隻能收集指定日志等級及以上的等級

case_logger.setLevel('DEBUG')

3.定義日志輸出管道,可以同時定義多個:console 控制台,日志檔案,日志伺服器syslog,資料庫

#輸出到控制台

console_handle =logging.StreamHandler()#輸出到日志檔案

file_handle = logging.FileHandler('case.log', encoding='utf-8')

4.指定日志輸出管道的日志等級

注意:收集器日志等級<=輸入管道等級,即設定的輸出管道等級為INFO,那麼收集器日志等級隻能是NOTEST(0) DEBUG(10) INFO(20)

console_handle.setLevel('ERROR')

file_handle.setLevel('INFO')

5.定義日志顯示格式,具體的日志顯示格式可以參考官方文檔:https://docs.python.org/3/library/logging.html

simple_formatter = logging.Formatter(‘%%(asctime)s:%%(name)s:%%(levelname)s’)

verbose_formatter= logging.Formatter('%%(asctime)s:%%(name)s:%%(levelname)s:%%(message)s')#指定終端顯示簡單結構日志

console_handle.setFormatter(simple_formatter)#指定日志檔案顯示複雜結構日志

file_handle.setFormatter(verbose_formatter)

6.将日志收集器和輸出管道進行對接

case_logger.addHandler(console_handle)

case_logger.addHandler(file_handle)

7.測試

case_logger=HandleLog().get_logger()

case_logger.debug('這個是debug級别的日志')

case_logger.info('這個是info級别的日志')

case_logger.warning('這個是warning級别的日志')

case_logger.error('這個是error級别的日志')

case_logger.critical('這個是critical級{:的日志')