核心用法
pywayne-bin-cmdlogger 是一个轻量级命令行工具,用于在执行任意命令时完整记录其标准输入、标准输出和标准错误流,同时保持实时终端交互。用户通过 cmdlogger [command] [args...] 调用目标程序,可选 --log-path 指定日志存储路径,默认输出至脚本目录下的 io_log.log。
显著优点
1. 全链路捕获:独创性地区分输入、输出、错误三流并分别标注(输入:/输出:/错误:),便于后期审计与故障回溯
2. 实时双工:采用多线程架构实现日志写入与控制台输出的同步转发,不阻塞用户交互
3. 编码容错:内置非 UTF-8 数据优雅处理机制,避免二进制流或旧编码数据导致工具崩溃
4. 零侵入集成:对目标命令无修改要求,开箱即用,特别适合 CI/CD 流水线嵌入
潜在局限
- 隐私风险:输入流(含密码、密钥)默认明文记录,需人工过滤敏感场景
- 磁盘膨胀:高频率输出命令(如编译、压力测试)可能快速产生大体积日志
- 仅本地执行:无远程日志投递、无日志轮转策略,长期运行需额外运维
适合人群
- DevOps 工程师:构建流程归档与故障复盘
- 后端开发者:调试会话留痕与问题复现
- 系统管理员:关键运维操作的审计追踪
常规风险
| 场景 | 说明 |
|------|------|
| 密码泄露 | 交互式密码输入被完整记入日志 |
| 存储耗尽 | 未限制日志大小可能导致磁盘占满 |
| 权限继承 | 以当前用户权限运行目标命令,无额外隔离 |