我有一些代表我的应用程序逻辑的业务类,我想从这些类中编写日志,就像在控制器中一样,我如何实现对记录器的引用。
如果你想告诉我在构造函数中发送它,请不要。
当您知道您的对象将在 Rails 环境中时——例如,一个服务对象,从控制器实例化和调用——那么您可以使用从控制器或模型Rails.logger
中获取方法引用的相同记录器。logger
例如,来自app/services/payments.rb
:
rescue Stripe::CardError => e
error = e.message
Rails.logger.error "Stripe card error for account #{@account}, error #{e}"
我很困惑......我只是使用例如
logger.info("in model")
或者
logger.info("in controller")
一直在我的模型和控制器中,这是 rails 3.2/ruby 1.9.3。当然,我可能完全误解了一些东西。