如何创建一个特殊的记录器

时间:2011-06-05 08:54:03

标签: ruby-on-rails ruby logging

我正在尝试创建专门用于记录用户帐户活动的日志。我在初始化文件夹中创建了这个:

class UserTraceLogger < Logger
  def format_message(severity, timestamp, progname, msb)
    "#{timestamp.to_formatted_s(:db)} #{severity} #{msg}\r\n"
  end
end

logfile = File.open("#{RAILS_ROOT}/log/user.log", 'a')
userlog = AuditLogger.new(logfile)
userlog.sync = true

我希望能够在我的代码中使用它:

userlog.info 'my message'

现在我在启动rails服务器时收到此错误消息:

config/initializers/usertrace_logger.rb:10:in `<top (required)>': uninitialized constant AuditLogger (NameError)

我对rails非常陌生。我不完全确定这是创建全局实例的正确方法,也不知道我究竟缺少什么。

我做错了什么?

1 个答案:

答案 0 :(得分:4)

您的意思是UserTraceLogger.new(logfile)而不是AuditLogger.new(logfile)吗?

否则你可能会在某个地方遗失require 'audit_logger'