python 收集測試日誌--格式

Pythonlogging模塊提供了通用的日誌系統,這個模塊提供不一樣的日誌級別,並能夠採用不一樣的方式記錄日誌,好比文件,HTTP GET/POST,SMTP,Socket等,甚至能夠本身實現方式記錄日誌。html

logging模塊包括logger,Handler,Filter,Formatter四個部分。web

  Logger 記錄器,用於設置日誌採集。瀏覽器

  Handler 處理器,將日誌記錄發送至合適的路徑。app

  Filter 過濾器,提供了更好的粒度控制,它能夠決定輸出哪些日誌記錄。函數

  Formatter 格式化器,指明瞭最終輸出中日誌的格式。ui

日誌格式:spa

日誌格式化是爲了提升日誌的可閱讀性,好比:時間+模塊+行數+日誌具體信息 的內容格式。若是日誌信息雜亂無章的所有輸出來,這樣也不利於定位問題。以下所示就是日誌格式化輸出,很是便於閱讀查看。線程

 

2019-09-10 11:18:46,531 - test_suit01_denglu.py[line20] - INFO - Log
2019-09-10 11:18:49,360 - web_func.py[line34] - INFO - 啓動瀏覽器
2019-09-10 11:18:52,566 - web_func.py[line114] - INFO - 等待時長: 10S
2019-09-10 11:18:52,567 - web_func.py[line46] - INFO - 打開地址: http://fwspre.cnzhonglunnet.com/ui/login.html#/
2019-09-10 11:18:52,633 - web_func.py[line67] - INFO - 點擊元素: ('xpath', "//div[@id='root']/div/div[2]/form/div/div/div/div/div/div/div/div[2]")
2019-09-10 11:18:53,276 - web_func.py[line77] - INFO - 在('xpath', ".//*[@id='serverid']/span/input")位置輸入文本:900005
2019-09-10 11:18:54,370 - web_func.py[line77] - INFO - 在('xpath', ".//*[@id='username']/span/input")位置輸入文本:1001
2019-09-10 11:18:54,479 - web_func.py[line77] - INFO - 在('xpath', ".//*[@id='password2']/span/input")位置輸入文本:111111
2019-09-10 11:18:54,554 - web_func.py[line67] - INFO - 點擊元素: ('xpath', "//button[@type='submit']")
2019-09-10 11:18:58,666 - web_func.py[line84] - INFO - 退出瀏覽器 

 

使用Formatter對象設置日誌信息最後的規則、結構和內容,默認的時間格式爲%Y-%m-%d %H:%M:%S。日誌

 

    格式                       描述
%(levelno)s             打印日誌級別的數值
%(levelname)s          打印日誌級別名稱
%(pathname)s          打印當前執行程序的路徑
%(filename)s          打印當前執行程序名稱
%(funcName)s          打印日誌的當前函數
%(lineno)d             打印日誌的當前行號
%(asctime)s           打印日誌的時間
%(thread)d            打印線程id
%(threadName)s         打印線程名稱
%(process)d           打印進程ID
%(message)s           打印日誌信息
                    

使用方法:code

formatter = logging.Formatter('%(asctime)s - %(filename)s[line%(lineno)d] - %(levelname)s - %(message)s')

輸出結果便是上面格式的日誌。

相關文章
相關標籤/搜索