我像这样使用红宝石记录器:
$logger = Logger.new MultiIO.new($stdout, log_file)
MultiIO
我从这个答案中得到的课程在哪里。大多数情况下,这很好用,但我使用'colored'
rubygem 在终端上提供彩色输出。不幸的是,这也最终出现在日志文件中,因为 ANSI 转义看起来像[32mPASS[0m
或一些类似的不可打印字符垃圾。
在保持 tty 字符串颜色的同时清理日志文件字符串的最佳方法是什么?我不介意猴子补丁Logger
或MultiIO
,但我绝对不希望对 logfile 和 screen 进行两次不同的调用。