优雅的方法来过滤标准输出内容文件? 或者关掉摩卡的微调?

我正在使用mocha -w进行连续testing。

我遇到了另一个lib的套接字连接的bug,只有在使用mocha -w一段时间才会发生。 我需要捕获指向console.logdebugging输出到一个文件,以便大量的数据可以被search和过滤用于故障排除。

然而,摩卡的“看”微调正在阻碍。 当我尝试使用Windows Power Shell,GitHub的Git Shell或DOS将stdoutredirect到一个文件时:

 mocha -w >> log.txt 

我从animation的微调器中获得这样的数据:

[0G [96m | [90m观察[90m观察[0m [90m观察[0m [0G [90m观察[90m观察[90m观察[ [90m观察[90m观察[0m [90m观察[0m [0G [90m观察[90m观察[90m观察[ [90m观察[90m观察[0m [90m观察[0m [0G [90m观察[90m观察[90m观察[ [90m观察[90m观察[0m [90m观察[0m [0G [90m观察[90m观察[90m观察[ [90m观察[0m [0G [96m / [90m观察[0m [0G [96m-

这个SO问题build议制作Mocha的副本,然后play()方法。 然而,通过使用黑客版本的摩卡来尝试排除可能是摩卡缺陷的问题并不理想。

所以现在看来​​是扩展我的shell知识和node.js知识的好时机。

有没有一种优雅的方式来做以下任何事情?

  1. 当它们以animation控制字符开始时,过滤掉文件?
  2. 防止摩卡渲染微调文本? (似乎没有任何标志, 像这样的文档和bug ,从来没有build议翻转解决scheme的标志)

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

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

调整正则expression式('matching [')以最适合您要滤除的输出。