【问题标题】:What is the best way to add user ID to RubyOnRails log entries?将用户 ID 添加到 RubyOnRails 日志条目的最佳方法是什么?
【发布时间】:2008-11-04 22:47:11
【问题描述】:

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

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

【问题讨论】:

    标签: ruby-on-rails logging


    【解决方案1】:

    你见过user_event_logger插件吗?

    【讨论】:

      【解决方案2】:

      您可以在 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】:

        您要捕获什么,每个用户执行的每个操作,或者只是特定的操作子集?如果一个子集的一种快速而肮脏的方法是简单地使用记录器调用将用户 ID 转储到您要跟踪的操作的日志中。

        【讨论】:

        • 前者。我们正在尝试创建一种审计跟踪。您的 q&d 方法已被排除。
        • 看看这里:railsforum.com/viewtopic.php?id=23540,用它自己的日志文件构建一个自定义记录器。
        • 该链接指向与原始问题相同的链接。现在“矫枉过正”。
        猜你喜欢
        • 2010-09-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-08-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-08-19
        相关资源
        最近更新 更多