2011-02-28 3 views
1

현재 구현중인 시스템의 성격은 사용자가 수행하는 모든 액세스/작업에 대해 엄격한 로깅이 필요합니다.심포니와 모범 사례 감사 로그

다른 작업을 기록하기 위해 심포니 로거를 사용할 수 있지만이 작업을 수행 할 수있는 명확한 방법이 있습니까? 차라리 어떤 함수가 액세스되는지에 따라 매번 다른 메시지로 여러 로그 호출을 피할 수 있습니다. 어쨌든 내 로그 호출이 한 번만 가능하도록 클래스를 재정의 할 수 있습니다. 가능한 한 많은 정보를 저장해야하므로 주어진 시간에 모든 사용자가 수행 한 모든 단계를 다시 추적 할 수 있습니다.

나는 도움이 될만한 플러그인을 찾아 볼 것입니다.

감사합니다.

답변

0

sfActions 확장에 대해 생각하고 있습니다.

code mySfActions extends sfActions 
{ 
    public function preExecute() 
    { 
    //log this->getActionName(), $this->getModuleName(), __FILE__ etc 
    //capture user information ($this->getUser() should work) 

    // then call this function to ensure all current preExecute methods work correctly 
    parent::preExecute() 
    } 
} 

내 actions.class.php 파일은 모두 sfActions 대신이 클래스를 확장합니다.

이 방법으로 충분한 정보를 얻을 수 있지만 코드에서 한 번만 사용했습니다.

생각하십니까?

+0

를 사용하는 방법에 대해 설명합니다 this을 볼 수 있습니다,'부모 :: preExecute는()'호출은 현재의 모든 preExecute 기능의 끝에서해야합니다 – jollop1

1

sfFilter를 사용하면 모듈 및 경로 동작을 기록하는 모든 동작을 확장하지 않을 수 있습니다. this post을 보시면 제가 그와 비슷한 것을 만들었지 만 여러분을 안내 할 수 있습니다.

또한 sfFilters 사실