Пользовательские опции входа в Rails3? - PullRequest
3 голосов
/ 08 февраля 2011

Каковы "лучшие" варианты пользовательских журналов для Rails3?Кто-нибудь может предложить хорошие камни или методы для ведения журнала.

В целом, каково соглашение для нестандартных, неконтролируемых, немодельных вещей?Если я сделаю собственный регистратор, как это:

#custom_logger.rb
class CustomLogger < Logger
  def format_message(severity, timestamp, progname, msg)
    "#{msg}\n"
  end
end

logfile = File.open(RAILS_ROOT + '/log/custom.log', 'a')  #create log file
logfile.sync = true  #automatically flushes data to file
CUSTOM_LOGGER = CustomLogger.new(logfile)  #constant accessible anywhere

(украдено из здесь ) Должно ли это быть в файле в "/ lib"?В "application.rb"?Или в инициализаторе?

Кажется, я не могу найти ничего, что описывает эти небольшие отличия от предыдущих версий Rails.

Спасибо

Ответы [ 3 ]

2 голосов
/ 05 июня 2011

Этот гем работает очень хорошо для настройки вывода журнала: https://github.com/johmas/itslog

2 голосов
/ 12 июня 2011

Я положил свой в application.rb, потому что это всего лишь несколько строк. Мне так лень. Если вы поместите свой класс в файл в lib /, вам потребуется вручную или настроить lib / autoloading.

Вот мой код логгера:

application.rb:

class DreamLogFormatter < Logger::Formatter
  def call(severity, time, progname, msg)
    "[%s(%d)%5s] %s\n" % [time.to_s(:short), $$, severity, msg2str(msg)]
  end
end

....

config.logger = Logger.new(Rails.root.join('log', "#{Rails.env}.log"), 10, 30*1024*1024)
config.logger.formatter = DreamLogFormatter.new

Обратите внимание: я переворачиваю журналы каждые 30 МБ и сохраняю последние 10 журналов.

1 голос
/ 08 февраля 2011

lib все еще кажется подходящим местом для размещения этого материала.

См:

Куда должны идти библиотеки в Rails 3?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...