您好,登錄后才能下訂單哦!
如何在Python 中使用loguru日志框架?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
pip install loguru
1、輸出日志
from loguru import logger logger.debug("這是一條debug日志")
終端執行后出現帶顏色的日志,挺酷的
2、輸出到文件
from loguru import logger logger.add("file_{time}.log") logger.debug("這是一條debug日志") logger.info("這是一條info日志")
目錄下多出一個日志文件 :file_2019-03-14_19-53-25_661314.log
3、日志規則
設置日志格式,過濾器,日志級別
from loguru import logger logger.add("file.log", format="{time} {level} {message}", filter="", level="INFO") logger.debug("這是一條debug日志") logger.info("這是一條info日志")
輸出
2019-03-14T20:01:25.392454+0800 INFO 這是一條info日志
4、日志文件
文件管理方式
logger.add("file_1.log", rotation="500 MB") # 文件過大就會重新生成一個文件 logger.add("file_2.log", rotation="12:00") # 每天12點創建新文件 logger.add("file_3.log", rotation="1 week") # 文件時間過長就會創建新文件 logger.add("file_X.log", retention="10 days") # 一段時間后會清空 logger.add("file_Y.log", compression="zip") # 保存zip格式
5、其他參數
logger.add("somefile.log", enqueue=True) # 異步寫入 logger.add("somefile.log", serialize=True) # 序列化為json
6、時間格式化
logger.add("file.log", format="{time:YYYY-MM-DD at HH:mm:ss} | {level} | {message}")
配合notifiers模塊
github: https://github.com/notifiers/notifiers
文檔:https://notifiers.readthedocs.io/en/latest/
7、在工程中創建多個文件處理器對象并解決中文亂碼問題
# coding=utf-8 import os import sys from loguru import logger BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) log_file_path = os.path.join(BASE_DIR, 'Log/my.log') err_log_file_path = os.path.join(BASE_DIR, 'Log/err.log') logger.add(sys.stderr, format="{time} {level} {message}", filter="my_module", level="INFO") # logger.add(s) logger.add(log_file_path, rotation="500 MB", encoding='utf-8') # Automatically rotate too big file logger.add(err_log_file_path, rotation="500 MB", encoding='utf-8', level='ERROR') # Automatically rotate too big file logger.debug("That's it, beautiful and simple logging!") logger.debug("中文日志可以不") logger.error("嚴重錯誤")
1、簡單易用,與C/C++、Java、C# 等傳統語言相比,Python對代碼格式的要求沒有那么嚴格;2、Python屬于開源的,所有人都可以看到源代碼,并且可以被移植在許多平臺上使用;3、Python面向對象,能夠支持面向過程編程,也支持面向對象編程;4、Python是一種解釋性語言,Python寫的程序不需要編譯成二進制代碼,可以直接從源代碼運行程序;5、Python功能強大,擁有的模塊眾多,基本能夠實現所有的常見功能。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。