将文件名添加到Rails记录器信息消息

时间:2012-09-27 17:14:50

标签: ruby-on-rails-3 logging

如何在Rails的日志消息中添加文件名和行号?我目前的格式类似于

[INFO : 12-09-27 10:12:30]

我想将其更改为

[INFO: 12-09-27 10:12:30 application_controller.rb:35]

或类似的东西。有什么想法吗?

2 个答案:

答案 0 :(得分:3)

logger.rb目录中创建初始化程序config/initializers,然后尝试将此

class Logger::SimpleFormatter
  def call(severity, time, progname, msg)
    "[#{severity} #{time} #{caller(0).first.match(/.*:\d+/)[0]}] #{msg}\n"
  end
end

应该适用于Ruby 1.9 +

答案 1 :(得分:0)

如果有人正在为Rails 4寻找类似的解决方案,那就是:

class ActiveSupport::Logger::SimpleFormatter
  def call(severity, time, progname, msg)
    "[#{severity} #{time} #{caller(0).first.match(/.*:\d+/)[0]}] #{msg}\n"
  end
end