如何配置 rails 记录器以另一种格式输出其日志字符串?我想得到一些信息更丰富的东西,比如:
[日志级别] [时间] [消息]
调试 : 01-20-2008 13:11:03.00 : 方法调用
当我想跟踪我的 development.log 以获取仅来自某个日志级别的消息(如调试)时,这真的对我有帮助。
最佳答案
做了一些挖掘和发现 this在 RubyOnRails Talk 谷歌组中发帖。
所以我稍微修改了一下,放到了我的environment.rb的最后:
module ActiveSupport
class BufferedLogger
def add(severity, message = nil, progname = nil, &block)
return if @level > severity
message = (message || (block && block.call) || progname).to_s
level = {
0 => "DEBUG",
1 => "INFO",
2 => "WARN",
3 => "ERROR",
4 => "FATAL"
}[severity] || "U"
message = "[%s: %s #%d] %s" % [level,
Time.now.strftime("%m%d %H:%M:%S"),
$$,
message]
message = "#{message}\n" unless message[-1] == ?\n
buffer << message
auto_flush
message
end
end
end
这会导致格式字符串如下:
[调试:0121 10:35:26 #57078] 渲染布局/_header (0.00089)
关于ruby-on-rails - Rails 记录器格式字符串配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/462651/