ForcePilot/src/utils/logging_config.py
Wenjie Zhang d999613f41 refactor: 优化环境变量获取逻辑,确保默认值处理
- 在多个文件中更新环境变量的获取方式,使用 `or` 语法简化代码,确保在未设置环境变量时使用默认值。
- 移除 `.env.template` 中与 LightRAG 相关的环境变量配置,简化配置文件。
- 更新 `pyproject.toml` 中的项目描述,提供更清晰的项目定位。
- 在文档中增加对图片上传响应格式的详细说明,提升用户理解。
2025-11-12 19:53:56 +08:00

54 lines
1.5 KiB
Python

import os
from loguru import logger as loguru_logger
from src.utils.datetime_utils import shanghai_now
SAVE_DIR = os.getenv("SAVE_DIR") or "saves"
DATETIME = shanghai_now().strftime("%Y-%m-%d")
LOG_FILE = f"{SAVE_DIR}/logs/yuxi-{DATETIME}.log"
def setup_logger(name, level="DEBUG", console=True):
"""使用 loguru 设置日志记录器"""
os.makedirs(f"{SAVE_DIR}/logs", exist_ok=True) # 创建日志目录
# 移除默认的 handler
loguru_logger.remove()
# 添加文件日志(无颜色)
loguru_logger.add(
LOG_FILE,
level=level,
format="{time:YYYY-MM-DD HH:mm:ss} - {level} - {file}:{line} - {message}",
encoding="utf-8",
rotation="10 MB", # 文件大小达到 10MB 时轮转
retention="30 days", # 保留30天的日志
compression="zip", # 压缩旧日志文件
)
# 添加控制台日志(有颜色)
if console:
loguru_logger.add(
lambda msg: print(msg, end=""),
level=level,
format=(
"<green>{time:MM-DD HH:mm:ss}</green> "
"<level>{level}</level> "
"<cyan>{file}:{line}</cyan>: "
"<level>{message}</level>"
),
colorize=True,
)
return loguru_logger
# 设置根日志记录器
logger = setup_logger("Yuxi")
__all__ = ["logger"]
# If you want to disable logging from external libraries
# logging.getLogger('some_external_library').setLevel(logging.CRITICAL)