2015-08-17 5 views
1

Я перенаправив мой (не-Rails) ActiveRecord SQL входа в текстовый файл со следующим в моем spec_helper:Вход рубин выход в виде простого текста без ANSI бежать последовательностей

logfile = File.expand_path('log/test.log') 
FileUtils.mkdir_p File.dirname(logfile) 
ActiveRecord::Base.logger = Logger.new(logfile) if defined?(ActiveRecord::Base) 

Это прекрасно работает, за исключением того, что файл журнала заполнен цветовыми экранами ANSI. Я полагаю, что это функция, если вы читаете это в терминале, но это очень раздражает при просмотре файла в IDE/редактор:

enter image description here

Как я могу построить Logger, который выводит простой текст?


ETA: И нет, в случае, если вам интересно, старый ActiveRecord::Base.colorize_logging флаг вы найдете задокументированы все через Интернет для более ранних версий ActiveRecord больше не существует, по-видимому, потому, что предполагалось только Rails разработчиков необходимы текстовые журналы.

/Users/me/.rvm/gems/ruby-2.2.2/gems/activerecord-4.2.3/lib/active_record/dyna 
mic_matchers.rb:26:in `method_missing': undefined method `colorize_logging=' 
for ActiveRecord::Base:Class (NoMethodError) 

ответ

-1

Только предположение (и не снимать меня, если я неправильно ваш вопрос):

ActiveRecord::Base includes a variety of configuration options: 
colorize_logging (true by default) specifies whether or not to use ANSI color codes when logging information from ActiveRecord. 

Более подробную информацию в http://guides.rubyonrails.org/v2.3.11/configuring.html

обновление

Для Rails 3.0 и его версии ActiveRecord, вы должны установить вместо этого Rails::LogSubscriber или config.colorize_logging. От the 3.0 release notes:

ActiveRecord::Base.colorize_logging and 
config.active_record.colorize_logging are deprecated in favor of 
Rails::LogSubscriber.colorize_logging or config.colorize_logging 
+0

В текущих версиях Rails, который [пошел] (http://guides.rubyonrails.org/configuring.html#configuring-active-record) в пользу [общего] Rails (HTTP : //guides.rubyonrails.org/configuring.html#rails-general-configuration) 'colorize_logging' config. К сожалению, как отмечалось в вопросе, я не использую Rails, и по умолчанию ActiveRecord раскрашивается. –

+0

Кроме того, как уже отмечалось, я не использую Rails. –

+0

О, право - моя ошибка. Я не врывался в источники; но можете ли вы получить дескриптор LogSubscriber, который использует ActiveRecord? –

 Смежные вопросы

  • Нет связанных вопросов^_^