Аудит журнала с Symfony, лучшие практики - PullRequest
1 голос
/ 28 февраля 2011

Характер системы, которую я сейчас внедряю, требует строгой регистрации всех обращений / действий, выполняемых пользователями.

Я знаю, что могу использовать регистратор Symfony для регистрации различных действий, но есть ли чистый способ сделать это? Я бы предпочел избегать нескольких вызовов журнала с разными сообщениями каждый раз, в зависимости от того, к какой функции обращаются, есть ли возможность переопределить класс, чтобы мой вызов журнала был только один раз. Мне нужно хранить как можно больше информации, чтобы я мог в любой момент пересмотреть все шаги, выполненные любым пользователем.

Я собираюсь найти плагин, который может помочь.

Спасибо за любую информацию!

Ответы [ 2 ]

1 голос
/ 03 марта 2011

Вы можете использовать sfFilter, чтобы избежать расширения всех действий, регистрирующих модуль и действия маршрута.Вы можете увидеть в этом посте , что я сделал что-то подобное, но вы можете руководствоваться им.

Вы также можете увидеть этот , который объясняет, как использовать sfFilters

0 голосов
/ 28 февраля 2011

Я думаю о расширении 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.

Таким образом, это должно дать мне достаточно информации, но я получил ее только один раз в коде.

Мысли

...