轉載自:www.manongjc.com/detail/8-xkpixvxrrbkbqxw.html
安裝
pip install loguru
1、輸出日志
from loguru import logger logger.debug("這是一條debug日志")
2、輸出到文件
from loguru import logger logger.add("test.log") logger.debug("這是一條debug日志") logger.info("這是一條info日志")
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}")
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("嚴重錯誤")