3

我不希望它记录传入的 IP,也不希望它记录任何内部事件。
我只希望 Rails 在请求进入时对其进行处理,仅此而已。

这可能吗?

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

4

3 回答 3

3

设置日志级别。

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

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

更改config.log_level = :fatal环境初始化程序中使用的日志级别,或 Rails.logger.level = 0随时内联

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

于 2013-04-18T00:37:45.933 回答
3

您可以将 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 日志重新路由到 null 设备,而不是让它转到任何地方的文件。日志记录仍然会发生,但它会立即被丢弃。

于 2013-04-18T00:52:50.127 回答
2

简化Chris Heald 答案,您可以将记录器设置为/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
于 2017-12-05T15:11:48.813 回答