Ya lo hace PHP por sí sólo y tu servidor HTTP también en su "error.log" (depende del que uses .. Apache así lo hace si lo indicas).
Tienes acceso al servidor para modificar o acceder a esos log's? ...
Lo otro que puedes hacer es "redireccionar" el control de errores que PHP hace a tus funciones própias (donde hay generarías tu log hacia un archivo .. o una BD o donde tu quieras y en general procesar el error como corresponda).
http://www.php.net/manual/es/ref.errorfunc.php
Pero .. si el objetivo es generar un log simplemente .. mejor intenta ver la forma de configurar tu servidor HTTP y/o PHP para tal fin y ahorraras proceso extra a PHP además de tener que incrustrar el código que hagas en todooooos los scripts de tus aplicaciones ...
Un saludo,