我有一个带有记录器的简单ruby脚本,我为该记录器设置了一个格式化程序,以提供彩色输出:
require 'colorize'
require 'mono_logger'
logger = MonoLogger.new(target_file)
logger.formatter = proc do |severity, datetime, progname, msg|
meta = "#{severity.to_s[0].red} #{datetime.strftime('%y-%m-%d %H:%M:%S.%6N').white}"
"#{meta} #{msg}n"
end
这非常有效,所有logger.info
调用都使用正确的颜色转义序列保存,并且在使用tail
查看文件时显示红/白/黑。
在这个ruby脚本中,我加载了一个rails环境,以便访问应用程序模型等,如下所示:
require File.expand_path('../../../../config/environment', __FILE__)
在该行之后,每个日志调用都不会保存正确的颜色转义序列。看起来rails做了一些换人或者类似的事情。
require
:之前