Можно заставить Apache передавать пользовательский журнал по каналу к сценарию. Так, например, изменение запись CustomLog в vhost к:
CustomLog "|/path/to/script"
Вы могут иметь сценарий, который делает что-то как:
#!/usr/bin/perl while ($log = <STDIN>) { if ($log =~ /403/) { open(LOG, '>>/path/to/403log'); print LOG $log; close(LOG); } else { open(LOG, '>>/path/to/mainlog'); print $log LOG; close(LOG); } }
Вышеупомянутый сценарий не тестируется, но он должен дать Вам общее представление о том, что можно сделать.