Python的logging模塊提供了通用的日誌系統,這個模塊提供不一樣的日誌級別,並能夠採用不一樣的方式記錄日誌,好比文件,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')
輸出結果便是上面格式的日誌。