You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

求助:如何在Git Bash(MinGW环境)中实现控制台日志记录

我之前在Windows用Git Bash开发时,也纠结过怎么实现Linux下那种控制台日志记录,试了几个方案都挺好用的,分享给你:

方案1:用Git Bash内置的script命令(最推荐)

Git Bash基于MinGW,自带了Linux常用的script命令,完全可以实现Teraterm那种全程会话记录的效果:

  • 启动记录:在Git Bash里输入 script my_session.log,回车后就开始记录所有控制台操作和输出了
  • 停止记录:按下 Ctrl + D 或者输入 exit,日志会自动保存到当前目录的my_session.log文件里
  • 追加模式:如果想在已有日志后面继续记录,用 script -a my_session.log
  • 安静模式:不想看到"Script started..."这类提示,加 -q 参数:script -q my_session.log

⚠️ 小提示:日志文件里会包含一些终端控制字符(比如颜色代码),如果需要纯文本日志,可以用这个命令清理:

sed -i 's/\x1b\[[0-9;]*m//g' my_session.log
方案2:用tee命令记录单个命令的输出

如果不需要记录整个会话,只想保存某个命令的输出,tee命令更方便:

  • 同时在屏幕显示并写入日志:python my_dev_script.py | tee script_output.log
  • 追加到已有日志:python my_dev_script.py | tee -a script_output.log
  • 同时记录标准输出和错误输出:python my_dev_script.py 2>&1 | tee script_output.log(把错误输出重定向到标准输出,再用tee捕获)
方案3:用screen工具记录会话(更灵活)

如果需要更强大的会话管理(比如后台运行、多窗口),可以安装screen

  1. 新版Git for Windows自带pacman包管理器,输入 pacman -S screen 安装
  2. 启动带日志的会话:screen -L -Logfile my_screen.log
  3. 退出会话但保持后台运行:按下 Ctrl + A 再按 D
  4. 彻底结束会话:输入 exit

这个工具的日志会自动过滤掉大部分控制字符,可读性更好,适合长时间的开发会话。

内容的提问来源于stack exchange,提问作者user6151327

火山引擎 最新活动