Неопределенный метод Formatter для Log4r в RAILS 4.0
Я получаю эту ошибку после обновления Rails с 3.1.2 до 4.0. При запуске моего сервера с рельсами я застрял со следующей ошибкой
C:/ruby-2.0.0/lib/ruby/gems/2.0.0/gems/railties-4.0.0/lib/rails/commands/server.rb:78:in `start': undefined method `formatter' for #<Log4r::Logger:0x26dd908> (NoMethodError)
Я был на сайте Log4r, но не получил никакой информации об ошибке при обновлении Rails.
Кто-нибудь есть идеи, откуда эта ошибка. Спасибо!
1 ответ
Решение
Метод formatter
не определено на Log4r::Logger
, но на Log4r::FileOutputter
, Поэтому я удивлен, что сработало до обновления Rails. Возможно, что изменилось между различными версиями Log4r.
Пожалуйста, попробуйте следующее (с измененными именами файлов и шаблонами):
require 'log4r'
outputter = Log4r::FileOutputter.new('log4r', filename: 'foobar.log')
outputter.formatter = Log4r::PatternFormatter.new(
date_pattern: "%FT%T.000Z", pattern: "%d [%l] %m"
)
logger = Log4r::Logger.new('log4r')
logger.outputters = [outputter]
Добавить этот код в config/application.rb
или в новый файл, как config/initializers/logger.rb