有没有办法阻止铁路记录一切?

时间:2013-04-18 00:32:56

标签: ruby-on-rails ruby logging privacy

我不希望它记录传入的IP,我不希望它记录任何内部事件 我只是希望Rails在进入时处理请求,就是这样。

这可能吗?

如何防止增长development.log或production.log?

3 个答案:

答案 0 :(得分:2)

设置日志级别。

可用的日志级别为::debug, :info, :warn, :error:fatal

如果您想知道当前的日志级别,可以调用Rails.logger.level方法。

要更改日志级别,请在环境初始值设定项中使用config.log_level = :fatal,或 Rails.logger.level = 0随时内联

另一个选项可能是将日志文件符号链接到/ dev / null

答案 1 :(得分:2)

您可以将Rails日志记录工具替换为记录到/ dev / null:

的记录器
class NullLoggerRailtie < Rails::Railtie
  initializer 'null_logger', :before => 'initialize_logger' do |app|
    Rails.logger = ActiveRecord::Base.logger = ActionController::Base.logger = ::Logger.new("/dev/null")
  end
end

这将重新路由所有Rails日志记录到空设备,而不是让它转到任何地方的文件。日志记录仍然会发生,但它会立即被删除。

答案 2 :(得分:0)

简化Chris Heald answer,您可以按环境将记录器设置为/dev/null

Rails.application.configure do
  config.logger = Logger.new("/dev/null")
end

只需将代码放在正确的文件中:

  • 发展:config/environments/development.rb
  • 测试:config/environments/test.rb
  • 制作:config/environments/production.rb
  • 所有环境:congig/applications.rb