我有一个模型,但我不希望它写入常见的日志其查询。是否有可能为某个模型切换记录器?Rails 3模型记录器
1
A
回答
2
你可以这样做替换STDOUT:
创建自定义记录器,如果你想格式化differently.You可以忽略这一点,如果格式需要是相同的。
class ModelLogger < Logger
def format_message(severity, timestamp, progname, msg)
"#{timestamp.to_formatted_s:)db)} #{severity} #{msg}\n"
end
end
在config /初始化/,创建logs.rb和补充一点:
model_logfile = File.open("#{RAILS_ROOT}/log/model.log", 'a')
model_logfile.sync = true
MODEL_LOG = ModelLogger.new(model_logfile)
现在,您重新启动服务器后,
MODEL_LOG.debug "This will be logged to model.log"
MODEL_LOG.error "Errors also can be logged."
+0
有一些单独的记录器我知道这一点。但该模型将其sql查询写入日志,我想忽略其中的一些 – 2012-08-09 13:50:47
1
这应该回答你的问题。与任何符合您的需求
how to change the rails logger to use standard out from rake tasks (rails2)
1
我用推核心宝石,它会在日志中写下许多令人讨厌的消息,如下所示,每2秒钟:
Push::Message Load (0.6ms) SELECT "push_messages".* FROM "push_messages" ...
我已经添加以下代码初始化器,以便从日志中删除“推::消息Load”事件:
# Disable annoying (every 2 sec) "Push::Message Load" events
ActiveRecord::LogSubscriber.class_eval do
alias_method :old_sql, :sql
def sql(event)
return if event.payload[:name] =~ /Push::Message Load/
old_sql(event)
end
end
相关问题
- 1. Rails 3中的自定义记录器?
- 2. Rails 3,在创建记录时更新控制器中的链接模型
- 3. 记录包含模型CakePHP的3
- 4. Rails:每做3条记录
- 5. rails 3覆盖模型设置器
- 6. 在导轨3设置记录器3
- 7. Rails 3中 - 在模型
- 8. Rails 3 group_by关联模型
- 9. Rails 3 - 模型结构
- 10. Rails 3模型协会
- 11. Rails 3的模型设置
- 12. Rails 3 ActionMailer模型属性
- 13. 模型四级深 - Rails 3
- 14. Rails grouped_collection_select与3个模型
- 15. Rails 3窗体和模型
- 16. Rails活动记录模型关系 - 属于三个模型的一个模型
- 17. Rails 3中的多模型窗体3
- 18. Rails 3:3模型和路由错误
- 19. 的Rails 3:错误时访问活动记录模型的属性
- 20. 的Rails 3 HABTM通过记录相关联的模型属性找到
- 21. 通过模型关联排序的活动记录查询:Rails 3和SQLite
- 22. Rails 3的模型完全belongs_to的不同表中的每个记录
- 23. Rails 3从单一模型和方法创建多个记录条目
- 24. Rails 3 - 获取Lates观察者记录
- 25. 如何总结Rails 3中的记录?
- 26. Rails 5 beta 3 ActiveRecord记录无效
- 27. Rails 3中得到嵌套记录
- 28. Rails 3保存记录问题
- 29. Rails 3中访问子记录
- 30. 的Rails 3计数记录的日期
请参阅http://stackoverflow.com/questions/6233401/custom-logger -in-rails-3 – iltempo 2012-08-09 12:13:19
这是用于完整应用的记录器。我想为模型 – 2012-08-09 12:40:03