Прямой "кладет" в Rails, в лог Apache - PullRequest
1 голос
/ 15 апреля 2009

Какой параметр конфигурации для получения вызовов на puts для записи в файл журнала Apache? (Использование Passenger для запуска Rails на Apache)

Спасибо

Ответы [ 2 ]

7 голосов
/ 15 апреля 2009

Почему бы просто не войти в журналы Rails? Вы можете использовать Rails.logger для записи в файлы в каталоге журналов вашего приложения.

Пример:

Rails.logger.warn "Login failed for user #{@user.login}"

В Rails встроены разные уровни ведения журнала (отладка, информация, предупреждение, ошибка и фатальный), и они могут быть указаны в файле вашей среды. Итак, чтобы установить ведение журнала в производственном режиме на уровень отладки:

config.log_level = :debug
3 голосов
/ 07 мая 2009

Я думаю, что вы можете "снова открыть" STDOUT, чтобы указать на то, на что указывает RAILS_DEFAULT_LOGGER (в этом случае ваш журнал пассажиров).

Но я не уверен, что это хорошая идея, вот почему:

Журнал предназначен для вещей, которые вы хотите знать во время нормальной работы вашего приложения, и фильтруется по-разному в соответствии с вашей средой. Logger.debug () вызывает print для development.log, но не для production.log, logger.error () достаточно логично, везде.

STDOUT (p, put, printf, pretty_print ...) идеально подходит для экспериментов со сценариями / консолью, а для вызовов отладчика смотрите: пост о ruby-debug с некоторыми советами по использованию ставит "или" p ", чтобы наблюдать значения вашей переменной в середине выполнения.

Надеюсь, это поможет вам.

...