ruby-on-rails - 如何单独设置Rails Cache日志级别?

标签 ruby-on-rails logging

由于遗留项目,我使用了一个相当旧的 Rails 版本,即 2.3.2。

我在 Rails 应用程序中将全局 log_level 设置为 :debug。但由于我们也使用 Rails.cache,日志文件中充满了烦人的行,例如
缓存读取:...
缓存未命中:...

我只想抑制这些信息,但不影响其他“更有用”的信息,例如 SQL 日志记录。

如何做到这一点?

最佳答案

好吧,在特定的environment.rb文件中初始化缓存存储(在下面的示例中,我使用内存存储)后,您可以将cache_store的日志重定向到单独的文件,并调整记录器级别:

config.cache_store = ActiveSupport::Cache::MemoryStore.new(:expires_in => 5.minutes)
config.cache_store.logger = Logger.new("#{Rails.root}/log/#{ENV['RAILS_ENV']}_cache.log")
config.cache_store.logger.level = Logger::INFO

除此之外,缓存存储还有一个名为静默的方法!这将关闭记录器:-|

config.cache_store.silence!

关于ruby-on-rails - 如何单独设置Rails Cache日志级别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7254184/

相关文章:

ruby-on-rails - 禁用 Rails 中的资源预编译功能

mysql - 从 ruby​​ 中的 sql 语句获取计数属性

ruby-on-rails - 从 RubyMine 迁移到 Vim - 解释自动完成

scala - 将 Logback 中的应用程序日志与 log4j 中的 Spark 日志分开

Django 1.3 日志记录 : 500 errors are not logged

logging - Weblogic日志定制

logging - 如何使用K8S_HOST_URL,以及在EFK中需要什么

ruby-on-rails - 何时以及何时不 stub /模拟测试

linux - Logstash高可用部署

ruby-on-rails - 如何干燥重复的 Ruby 代码?