Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 为什么Rails会更改记录器的颜色转义序列?_Ruby On Rails_Ruby_Logging_Colors - Fatal编程技术网

Ruby on rails 为什么Rails会更改记录器的颜色转义序列?

Ruby on rails 为什么Rails会更改记录器的颜色转义序列?,ruby-on-rails,ruby,logging,colors,Ruby On Rails,Ruby,Logging,Colors,我有一个带有记录器的简单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

我有一个带有记录器的简单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做了一些替换之类的事情

要求之前

\033[0;31;49mI\033[0m [0;37;49m14-09-19 15:38:36.472544\033[0m  Starting boot process
\033[0;31;49mI\033[0m [0;37;49m14-09-19 15:38:36.472788\033[0m  Loading rails environment
\033[1;31mI\033[0m [1;37m14-09-19 15:38:39.949944\033[0m  Using config config/config.rb
\033[1;31mD\033[0m [1;37m14-09-19 15:38:47.105813\033[0m  Setting up clockwork
\033[1;31mI\033[0m [1;37m14-09-19 15:38:47.805399\033[0m  Setting up EventMachine
要求之后

\033[0;31;49mI\033[0m [0;37;49m14-09-19 15:38:36.472544\033[0m  Starting boot process
\033[0;31;49mI\033[0m [0;37;49m14-09-19 15:38:36.472788\033[0m  Loading rails environment
\033[1;31mI\033[0m [1;37m14-09-19 15:38:39.949944\033[0m  Using config config/config.rb
\033[1;31mD\033[0m [1;37m14-09-19 15:38:47.105813\033[0m  Setting up clockwork
\033[1;31mI\033[0m [1;37m14-09-19 15:38:47.805399\033[0m  Setting up EventMachine

有什么办法解决这个问题吗?

看起来Rails有自己的
.green
.blue
。。。字符串的方法。如果您使用
.colorize(:green)
而不是
。green
一切都像一个符咒