import os import sys from loguru import logger # 移除默认的 handler logger.remove() # 获取日志级别(从环境变量或默认为 ERROR,正式使用时只显示错误) log_level = os.getenv("AUTOTERMINAL_LOG_LEVEL", "ERROR") # 添加控制台输出(stderr)- 默认只显示错误 logger.add( sys.stderr, format="{level}: {message}", level=log_level, colorize=True ) # 添加文件输出(可选,存储在 ~/.autoterminal/ 目录) enable_file_logging = os.getenv("AUTOTERMINAL_FILE_LOG", "true").lower() != "false" if enable_file_logging: home_dir = os.path.expanduser("~") log_dir = os.path.join(home_dir, ".autoterminal") os.makedirs(log_dir, exist_ok=True) log_file = os.path.join(log_dir, "autoterminal.log") logger.add( log_file, format="{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {name}:{function}:{line} - {message}", level="DEBUG", # 文件记录所有级别的日志 rotation="10 MB", # 日志文件达到 10MB 时轮转 retention="7 days", # 保留最近 7 天的日志 compression="zip", # 压缩旧日志 encoding="utf-8" ) # 导出 logger 供其他模块使用 __all__ = ["logger"]