代码之家  ›  专栏  ›  技术社区  ›  Glenn

向RubyOnRails日志条目添加用户ID的最佳方法是什么?

  •  2
  • Glenn  · 技术社区  · 17 年前

    我正在寻找定制Rails日志条目的最佳方法(我想在其中添加用户ID)。我使用的是Rails 2.1.2。到目前为止,我发现的唯一方法是重写BufferedLogger类的方法“add”(如active_support/lib/active_support中定义的)。

    但它并不漂亮:我必须复制其中的所有代码,它就是 与当前的实施密切相关。有更好的办法吗? 我在谷歌上发现了这个: http://pandejo.blogspot.com/2007/08/customize-logger-message-format.html 但它似乎已经过时了。 有一天,我可能会创建一个特定的审计日志,但这对 我需要什么: http://maintainable.com/articles/rails_logging_tips#audit-logs 干杯。

    3 回复  |  直到 17 年前
        1
  •  1
  •   Mike Breen    17 年前

    你看到了吗 user_event_logger 插件?

        2
  •  1
  •   Jochen    16 年前

    您可以在application_controller的after_filter中执行logger.info:

    after_filter :logging
     def logging
      if logger && logged_in?
       logger.info "UserID: #{current_user.id.to_s}"
      end
     end
    
        3
  •  0
  •   Naven87 Naven87    17 年前

    你想捕捉什么,每个用户做的每一个动作,还是只是一组特定的动作?如果是子集,一种快速而肮脏的方法是简单地使用记录器调用将用户id转储到日志中,以跟踪您想要跟踪的操作。