本文目錄一覽:
我如何着色Python日誌輸出
終端的字符顏色是用轉義序列控制的,是文本模式下的系統顯示功能,和具體的語言無關。控制字符顏色的轉義序列是以ESC開頭,即用\033來完成 !
如何python運行輸出的東西加顏色
格式:\033[顯示方式;前景色;背景色m
說明:
前景色 背景色 顏色
—————————————
30 40 黑色
31 41 紅色
32 42 綠色
33 43 黃色
34 44 藍色
35 45 紫紅色
36 46 青藍色
37 47 白色
顯示方式 意義
————————-
0 終端默認設置
1 高亮顯示
4 使用下劃線
5 閃爍
7 反白顯示
8 不可見
例子:
\033[1;31;40m !–1-高亮顯示 31-前景色紅色 40-背景色黑色–
\033[0m !–採用終端默認設置,即取消顏色設置–
python中更優雅的記錄日誌
在以往我們使用日誌,更多的是使用 python 自帶的 logging 模塊,它可以設置錯誤等級、輸出方式等。
但使用方式相對比較複雜,想要更好的使用需要如 log4net 一樣單獨配置,這在 python 中感覺不是很優雅。
下面介紹一個 python 庫: loguru 。 guru 是印度語中大師的意思, loguru 直譯就是“日誌大師”。
如圖 logging 一樣, loguru 也有定義日誌等級。不同的日誌等級,輸出效果也不一樣(默認的等級由低到高是 DEBUG 、 INFO 、 WARNING 、 ERROR 、 CRITICAL ,也可以自己使用 level 函數定義)。
類似 logging 中的 logger.addHandler ,loguru統一使用 add 函數來管理格式、文件輸出、過濾等操作,它提供了許多參數來實現 logger.addHandler 中的配置更加簡單方便。
其中 sink 是最重要的參數,可以傳入不同的數據類型。傳入文件路徑、文件句柄、 sys.stderr 、甚至 logging 模塊的 Handler 如 FileHandler 、 StreamHandler 等,這樣就可以快速實現自定義的 Handler 配置。
通過給 remove 方法傳遞 add 方法返回的對象, 可以刪除 add 方法添加的 sink ,這裡的 remove 並不是刪除 test2.log 文件,而是停止向該文件輸出日誌,需要需要繼續記錄日誌則需要重新 add 日誌文件。
用 rotation 、 retention 、 compression 進行日誌窗口、更新、壓縮管理。
支持控制台輸出添加顏色, 除了基礎色, loguru 甚至允許16進制、RGB格式的顏色值和加粗、下劃線等樣式。
使用裝飾器 @logger.catch 可以和 logging 一樣使用 logger.exception 函數來記錄異常信息。
使用 exception 方法輸出的異常信息包含堆棧信息和當前變量的值,方便問題定位。
使用 serialize 可以將日誌轉換為 JSON 格式, enqueue 可以保證多線程、多進程安全。
修改時間格式。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/184889.html