我不希望它记录传入的 IP,也不希望它记录任何内部事件。
我只希望 Rails 在请求进入时对其进行处理,仅此而已。
这可能吗?
如何防止不断增长的 development.log 或 production.log?
我不希望它记录传入的 IP,也不希望它记录任何内部事件。
我只希望 Rails 在请求进入时对其进行处理,仅此而已。
这可能吗?
如何防止不断增长的 development.log 或 production.log?
设置日志级别。
可用的日志级别是::debug, :info, :warn, :error
和:fatal
如果你想知道当前的日志级别,你可以调用 Rails.logger.level 方法。
更改config.log_level = :fatal
环境初始化程序中使用的日志级别,或
Rails.logger.level = 0
随时内联
另一种选择可能是将日志文件符号链接到 /dev/null
您可以将 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 设备,而不是让它转到任何地方的文件。日志记录仍然会发生,但它会立即被丢弃。
简化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