Logs con warn y die

Subsiste el problema aún de los mensajes de error emitidos con warn y die. Si en algún lugar de l programa o librería se emite un warn el mensaje se perderá.

Afortunadamente, Perl provee dos manejadores de señal 'virtuales' para modificar la conducta de warn y die.

Si se instala un manejador en $SIG{__WARN__}, ese manejador será llamado en vez de warn cada vez que aparece una llamada a warn en el código. Para die el equivalente es $SIG{__DIE__}. Así en el ejemplo anterior es posible redirigir todos los warn y die al sistema de logs haciendo:

$SIG{__WARN__} = \&log_warn;
$SIG{__DIE__}  = \&log_die;

Ejercicio 14.1.2   Modifique el servidor anterior para que redirija los mensajes generados por warn y die al sistema de log.

Casiano Rodríguez León
2010-03-22