【问题标题】:Using logger from Rack middleware使用 Rack 中间件中的记录器
【发布时间】:2012-10-10 09:36:51
【问题描述】:

如何正确地从运行在 Rails 应用程序上下文中的中间件中记录某些内容?或者,更一般地说,我如何检测堆栈上有一些日志记录中间件并使用它?

【问题讨论】:

标签: ruby-on-rails ruby ruby-on-rails-3 rack


【解决方案1】:

尝试使用机架通用记录器登录http://rack.rubyforge.org/doc/Rack/CommonLogger.html

【讨论】:

  • 如果我有一个成熟的 Rails 应用程序,为什么需要这个?我可以只使用 Rails.logger (这就是我现在正在做的)。我问的是在独立的 Rack 中间件中执行此操作的正确方法,显然不应该依赖于特定的日志记录框架
  • 哦,我误解了这个问题。对于独立应用程序,您需要使用标准 ruby​​ 输出 $stdout 。我要做的是,创建一个日志文件,其路径指向机架应用程序的根目录,并将标准输出记录到该文件中,该文件看起来像这样 log = File.new("rack.log", "a+") $stdout.reopen(log) $stderr.reopen(log)
  • 那个链接没用。它没有解释如何使用记录器。
  • @Raghu 但重点是使用 Rails 已经在使用的任何记录器。那么你的答案是“这是不可能的”吗?
  • @john - 实际上我再次检查了通用记录器,但在另一个 stackoverflow 线程中,家伙为这个中间件编写了自己的自定义记录器方法来完成记录。看看这个帖子对你有没有帮助stackoverflow.com/questions/2239240/…
猜你喜欢
  • 2013-06-24
  • 2011-07-17
  • 2011-01-22
  • 2011-10-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多