2008-11-04 5 views
2

필자는 Rails 로그 항목을 사용자 정의하는 가장 좋은 방법을 찾고 있습니다. 여기에 사용자 ID를 추가하고 싶습니다. 레일 2.1.2를 사용하고 있습니다. 지금까지 발견 한 유일한 방법은 BufferedLogger 클래스의 메소드 "add"를 재정의하는 것입니다 (active_support/lib/active_support에 정의 된대로).RubyOnRails 로그 항목에 사용자 ID를 추가하는 가장 좋은 방법은 무엇입니까?

하지만 예쁜 것은 아닙니다. 나는 모든 코드를 여기에 복사해야하며 현재 구현에 밀접하게 연결된 입니다. 더 좋은 방법이 있습니까? Google에서 발견 : http://pandejo.blogspot.com/2007/08/customize-logger-message-format.html하지만 오래된 것 같습니다. 언젠가 특정 감사 로그를 만들지 만, 내가 필요로하는 것은 에 대한 과잉 공격입니다. http://maintainable.com/articles/rails_logging_tips#audit-logs 건배.

답변

0

캡처하려는 대상, 각 사용자가 수행하는 모든 작업 또는 특정 하위 작업 집합? 하위 세트가 빠르고 간단하게 하나의 로깅 호출을 사용하여 추적하려는 작업에 대한 로그에 user-id를 덤프하면됩니다.

+0

전합니다. 우리는 일종의 감사 추적을 만들려고합니다. 당신의 q & d 접근법은 배제되었습니다. – Glenn

+0

여기를보세요 : http://railsforum.com/viewtopic.php?id=23540, 자체 로그 파일로 맞춤형 로거를 빌드하십시오. –

+0

링크는 원래 질문과 동일한 링크를 가리 킵니다. "과잉 공격". – Glenn

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 
관련 문제