Журнал рельсов слишком многословный
Как я могу запретить Rails регистрироваться слишком много? Вот типичная трасса в моем файле production.log, многие частичные, кеш-хиты... Это полезно в разработке, но я не хочу этого в моей рабочей среде.
Started GET "/?redirected=true" for 46.193.131.53 at 2012-08-16 18:39:20 +0200
Processing by HomeController#index as HTML
Parameters: {"redirected"=>"true"}
Rendered application/_successfully_connected.html.haml (0.8ms)
Rendered hotspot_infos/_infos.html.haml (0.4ms)
Rendered application/_hotspot_infos.html.haml (1.8ms)
Rendered application/_news.html.haml (0.3ms)
Read fragment views/social-zone-341-directory (0.5ms)
Rendered application/_directory.html.haml (2.5ms)
Rendered application/_meteo.html.haml (1.1ms)
Rendered application/_notifications.html.haml (0.8ms)
Rendered application/_like_button.html.haml (0.3ms)
Rendered application/_navbar.html.haml (4.2ms)
Rendered application/_connection.html.haml (0.5ms)
Rendered application/_gallery.html.haml (0.2ms)
Rendered application/_search_bar.html.haml (0.4ms)
Rendered pictures/_picture_frame.html.haml (0.3ms)
Rendered application/_profile_preview.html.haml (1.4ms)
Rendered application/_profile_block.html.haml (1.7ms)
Rendered application/_menus.html.haml (3.3ms)
Rendered application/_left_pane.html.haml (5.5ms)
Rendered application/_langs.html.haml (0.8ms)
Rendered application/_footer.html.haml (1.9ms)
Rendered application/_flash_modal.html.haml (0.1ms)
Rendered application/_connection_required.js.erb (0.2ms)
Completed 200 OK in 159ms (Views: 25.5ms | ActiveRecord: 88.0ms)
Спасибо за помощь
PS: Я использую Rails 3.2.6
Ответы
Ответ 1
В Rails 4 будет установлен режим очистки журналов:
config.action_view.logger = nil
Чтобы добиться этого в Rails 3, вы должны установить патч обезьяны ActionView:
module ActionView
class LogSubscriber < ActiveSupport::LogSubscriber
def logger
@memoized_logger ||= Logger.new('/dev/null')
end
end
end
Ответ 2
Вам нужно установить config.log_level
по-разному. Подробнее о Уровни журнала.
Например, добавьте следующее в config/evironments/production.rb
config.log_level = :warn
Вероятно, у вас установлено значение :debug
или :info
.
Ответ 3
Я помещал это в свои инициализаторы, чтобы обезопасить определенные записи, чтобы перейти к отладке вместо информации:
module ActionView
class LogSubscriber
def render_template(event)
message = "Rendered #{from_rails_root(event.payload[:identifier])}"
message << " within #{from_rails_root(event.payload[:layout])}" if event.payload[:layout]
message << " (#{event.duration.round(1)}ms)"
debug(message)
end
alias :render_partial :render_template
alias :render_collection :render_template
end
end
module ActionController
class LogSubscriber
# Use debug logging for read_fragment
# %w(write_fragment read_fragment exist_fragment? expire_fragment expire_page write_page).each do |method|
%w(read_fragment).each do |method|
class_eval <<-METHOD, __FILE__, __LINE__ + 1
def #{method}(event)
return unless logger.info?
key_or_path = event.payload[:key] || event.payload[:path]
human_name = #{method.to_s.humanize.inspect}
debug("\#{human_name} \#{key_or_path} (\#{event.duration.round(1)}ms)")
end
METHOD
end
end
end