SuperAPI AI 工具集

setting-up-logging

编程与开发

查看项目

更新于 10-16 04:55

技能介绍

用途:为 Python 应用统一搭建日志系统,覆盖滚动文件日志、彩色控制台日志以及非日志的彩色用户输出,并给出 CLI、GUI、服务器三类场景的取舍规则。

主要能力:setup_file_logging() 向根记录器添加 RotatingFileHandler,生成 <log_dir>/<app_name>.log,始终启用,作为事后排查的持久记录;setup_stdout_logging() 添加带颜色的 StreamHandler,仅适用于 stdout 不是用户界面的 GUI 与服务器场景;configure_logger_level() 调整单个记录器级别;silence_noisy_loggers() 将 httpx、httpcore、urllib3、openai、anthropic、aiosqlite 等噪声记录器钉在 WARNING;write_info、write_success、write_warning 向 stdout 输出彩色信息,write_error 输出到 stderr。

必要用法:入口处调用 setup_file_logging(log_dir=Path(platformdirs.user_log_dir("myapp")), app_name="myapp", level=logging.INFO),再按模式选择 setup_stdout_logging()。CLI 工具不得使用 stdout 日志,改用 write_info/write_error;如需实时日志,通过 --log-stderr 等开关将 setup_stdout_logging(stream=sys.stderr) 定向到 stderr,保持 stdout 干净。依赖为 colorlog>=6.10.1 与 platformdirs>=4.0.0,复制 src/<package>/shared/logging/ 后从 your_app.shared.logging 导入。

限制:本技能只涉及 Python 日志配置,前置需先加载 engineering-principles;旋转策略默认 max_bytes=5MB、backup_count=3;QML 日志路由属于 building-qt-apps 技能,Qt 的 console.log() 会被静默丢弃;未提供其他语言、具体收费或托管平台信息。