我正在寻找自定义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 欢呼声。
答案 0 :(得分:1)
您是否看过user_event_logger插件?
答案 1 :(得分:1)
您可以在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
答案 2 :(得分:0)
您想要捕获什么,每个用户执行的每个操作,或者只是一个特定的操作子集?如果子集一个快速而又脏的方法就是简单地使用记录器调用将用户id转储到日志中以便跟踪要执行的操作。