node.js - 将标准输出内容过滤到文件的优雅方法?或者关闭 Mocha 的观看旋转器?

标签 node.js powershell dos command-line-interface mocha.js

我正在使用 mocha -w 进行持续测试。

我在另一个库的套接字连接中遇到了一个错误,该错误仅在长时间使用 mocha -w 时才会出现。我需要将定向到 console.log 的调试输出捕获到一个文件中,以便可以搜索和过滤大量数据以用于故障排除。

然而,mocha 的“观看”旋转器却出现了障碍。当我尝试使用 Windows power shell、GitHub 的 Git Shell 或 DOS 将 stdout 重定向到文件时:

mocha -w >> log.txt

我从动画微调器中获取了如下 GB 的数据:

[0G [96m| [90mwatching[0m[0G [96m/ [90mwatching[0m[0G [96m- [90mwatching[0m[0G [96m\ [90mwatching[0m[0G [96m| [90mwatching[0m[0G [96m/ [90mwatching[0m[0G [96m- [90mwatching[0m[0G [96m\ [90mwatching[0m[0G [96m| [90mwatching[0m[0G [96m/ [90mwatching[0m[0G [96m- [90mwatching[0m[0G [96m\ [90mwatching[0m[0G [96m| [90mwatching[0m[0G [96m/ [90mwatching[0m[0G [96m- [90mwatching[0m[0G [96m\ [90mwatching[0m[0G [96m| [90mwatching[0m[0G [96m/ [90mwatching[0m[0G [96m-

This SO question suggests making a copy of Mocha and hacking the play() method.但是,尝试使用 Mocha 的黑客版本来解决可能存在的 Mocha 错误并不理想。

所以这似乎是扩展我的 shell 知识和 Node.js 知识的好时机。

是否有一种优雅的方式来执行以下任一操作?

  1. 当文件中以动画控制字符开头的行被过滤掉?
  2. 阻止 Mocha 渲染旋转文本? (似乎没有任何标志,如文档和 bugs like this one 所示,它们从不建议翻转标志来解决问题)

最佳答案

我不熟悉 Mocha 或其输出,但理论上你应该能够像这样过滤:

mocha -w | Where {$_ -notmatch 'watching\['} >> log.txt

调整正则表达式('matching[')以最适合您要过滤掉的输出。

关于node.js - 将标准输出内容过滤到文件的优雅方法?或者关闭 Mocha 的观看旋转器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16510909/

相关文章:

node.js - Node + Mailchimp NPM : How to add a subscriber to a list and include their first and last name?

node.js - npm 中的 "production"标志有什么用?

javascript - 新脚本的语法错误 (vm.js :51:7) whilst running code for a discord bot in javascript

javascript - 对 mongoose 返回的结果使用 lodash 时输出不正确

powershell - 变量路径

windows - 以独立于语言环境的方式访问 Windows 性能计数器

Powershell move 文件但在替换之前备份文件

java - 自动将 Excel 2007 转换为 Excel 97-2003 工作簿

assembly - 在 MS-DOS/FreeDOS 应用程序中实现超时

编译器错误 C2432 : illegal reference to 16-bit data in 'identifier'