Ответ Фридо невероятно изящен, если требуется такая степень гибкости.
OTOH вы можете продолжать использовать Apache error_log для записи этих данных, просто используя $c->log->info()
или одного из его братьев и сестер. Расширить Catalyst :: Log довольно просто, чтобы сообщать о других видах сообщений. Я использую вариант $c->log->sql()
, который записывает SQL в журнал error_log, который был запущен, например, через SQL :: Beautify.
Я могу представить что-то вроде
sub auto {
...
$c->log->audit(sprintf("%s called by %s", $c->action->reverse, $c->userid));
...
}
Поместить его в начале (в авто) не то, что вы хотели, но это определенно менее проблематично, поскольку вы знаете, что он будет вызываться всегда, в отличие от конечных обработчиков.