loguru使用
2024-09-19 本文已影响0人
RS_jianshu
import os
from pathlib import Path
from loguru import logger
BASE_DIR = Path(__file__).resolve().parent
print(BASE_DIR)
# 设置主日志文件,所有日志都会记录在此文件中
log_file_path = os.path.join(BASE_DIR, "logs")
# 如果不存在这个logs文件夹,就自动创建一个
if not os.path.exists(log_file_path):
os.mkdir(log_file_path)
# 按照日期切割
log_name = 'api.{time:YYYY-MM-DD}.log'
format_ = "{time:YYYY-MM-DD HH:mm:ss.SSS}|{level}|{name}|{file}|{function}|-|{line}|{message}"
logger.add(
sink=os.path.join(log_file_path, log_name), # sink:为记录器生成的每条记录指定目的地。默认情况下,它设置为 sys.stderr
rotation='00:00',
# rotation="1 minutes",
retention='7 days',
enqueue=True, # enqueue:启用此选项会将日志记录放入队列中,以避免多个进程记录到同一目的地时发生冲突。
encoding='utf-8',
level='INFO',
# filter=lambda record: record["level"].name == 'INFO', # 仅记录INFO日志,根据需要过滤
format=format_
)