GUARDAR LOGS EN PHP: MÉTODOS Y BUENAS PRÁCTICAS
Cuando en php se produce un error se escribe en el fichero especificado en el fichero de php.ini en en valor error_log, que se puede consultar con la función phpinfo, o también el fichero de errores de apache. Pero si queremos escribir nuestro propio fichero de logs para saber que valores tienen ciertas variables, objetos o arrays, o guardar queries y sus resultados se puede usar la funcón error_log. Con el siguiente ejemplo se puede ver más claro: //ejemplo de función que guarda en el fichero de log una variable
function log_message_text(String, $userName,String $str_Message){
$logmessage = '[' . date('Y-m-d h:i:s') .' '.$userName.'] '. $str_Message . "\n";
error_log($logmessage, 3, 'ruta_log_file/mi_log_file.log');
}
//ejemplo de función que guarda en el fichero de log un array formateado para que sea más legible
function log_message_array(String $userName,Array $arr_Message){
$logmessage = '[' . date('Y-m-d h:i:s') .' '.$userName.'] '. print_r($arr_Message,true) . "\n";
error_log($logmessage, 3, 'ruta_log_file/mi_log_file.log');
}
Tambíen se puede hacer que ante cierta circunstancia se envíe un email:
//ejemplo de función que guarda en el fichero de log una variable
$logmessage = '[' . date('Y-m-d h:i:s') .' '.$userName.'] '. print_r($errorMessage,true) . "\n";
error_log($logmessage, 1, 'email_destinatario','Subject:'.self::EMAIL_SENDER);
}