2011-06-07 25 views
5

El formato de registro de PHP no incluye la fecha, para Advertencias. Por ejemplo,Registro de PHP: formato de advertencia

PHP Warning: Cannot modify header information... 

no tiene ninguna fecha cuando se produjo la advertencia.

¿Hay alguna manera de cambiar el formato de advertencia, o al menos tener la fecha en el registro? (usando php-fpm si es importante).

Respuesta

2

Por supuesto siempre puede definir su propio manejador de errores usando set_error_handler. Ejemplo simplificado:

function handler($errno, $errstr, $errfile, $errline, $errcontext) { 
    $message = date('Y-m-d H:i:s') . ": $errstr in $errfile at $errline\n"; 
    file_put_contents('error.log', $message, FILE_APPEND); 
} 

set_error_handler('handler'); 
+0

Gracias. Pero, ¿hay algo de php.ini? El manejador func/'set_error_handler' se llamará todo el tiempo. –

+0

No es que yo sepa, no. http://www.php.net/manual/en/ini.list.php Si su manejador de errores es llamado todo el tiempo, quizás deba arreglar su aplicación. ;-P Pero incluso si lo es, no veo un gran problema con eso. – deceze

+0

Todo el tiempo significa que cada script tiene que ejecutarlo. En lo que respecta al rendimiento, tal vez no sea un gran problema, pero una solución global a través de 'php.ini' funcionaría para cualquier aplicación, incluso si se pierden la llamada' set_error_handler'. –

Cuestiones relacionadas