Задать вопрос
@deadvip

Отдельный лог-файл для контроллера. Rails?

Есть проект

controllers<br>
    admin<br>
        application_controller.rb<br>
    api<br>
         application_controller.rb<br>
    application_controller.rb<br>


В production.rb включается логгер: config.logger = Logger.new(config.log_path) который пишет все в production.log.

Стоит задача — при запросе к контроллерам из папки api писать в api.log, а в production.log — нет. Вопрос — как легко это реализовать? Пробовал в api/ application_controller.rb добавить:

ActiveRecord::Base.logger = Logger.new("#{Rails.root}/log/api.log")<br>
ActionController::Base.logger = Logger.new("#{Rails.root}/log/api.log")<br>


Тогда все пишется в api.log, даже то, что должно писатся в production.log. Добавление в admin/application_controller.rb и controllers/application_controller.rb кода:

ActiveRecord::Base.logger = Logger.new("#{Rails.root}/log/production.log")<br>
ActionController::Base.logger = Logger.new("#{Rails.root}/log/production.log")<br>


не помогло.
  • Вопрос задан
  • 3231 просмотр
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
sl_bug
@sl_bug
Попробуйте модифицировать вот такой костыль github.com/rails/rails/issues/2639#issuecomment-2252326
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы