Каков наилучший способ добавить идентификатор пользователя в записи журнала RubyOnRails? - PullRequest
2 голосов
/ 05 ноября 2008

Я ищу лучший способ настроить записи в журнале Rails (я хочу добавить туда идентификатор пользователя). Я использую Rails 2.1.2. Единственный способ, который я нашел, - это переопределить метод «add» класса BufferedLogger (как определено в 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 Приветствия.

Ответы [ 3 ]

1 голос
/ 05 ноября 2008

Вы видели плагин user_event_logger ?

1 голос
/ 01 ноября 2010

Вы можете просто сделать logger.info в фильтре after_filter в вашем application_controller:

after_filter :logging
 def logging
  if logger && logged_in?
   logger.info "UserID: #{current_user.id.to_s}"
  end
 end
0 голосов
/ 05 ноября 2008

Что вы пытаетесь захватить, каждое действие, которое выполняет каждый пользователь, или просто определенный набор действий? Если для подмножества одним быстрым и грязным способом было бы просто использовать вызов регистратора, чтобы сбросить идентификатор пользователя в журнал для действий, которые вы хотите отслеживать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...