Helpers – Log – Errores y trazas en archivos
La gestión de los errores y poder guardar estos en un archivo para ser consultados posteriormente es una necesidad de cualquier proyecto.
Mediante esta librerÃa podremos guardar los textos de los errores o simplemente nuestras trazas en archivos de texto plano.
Se crea un archivo por cada dÃa.
/** * HelperLog.php * @author Code Develium */ use Helpers\HelpString; /** * Class HelperLog */ abstract class HelpLog { /** * Guardamos una traza en un archivo. * Acepta múltiples parámetros formato sprintf con %1, %2, ... * * @param string $txt */ public static function saveTrace($txt) { /* Ruta completa donde ubicar el archivo de logs */ $archivoLogs = '../App/Logs/log-error-'.date('Y-m-d').'.txt'; $argNum = func_num_args(); $argList = func_get_args(); for ($i = 1; $i < $argNum; $i++) { $txt = HelpString::replaceFirst($txt, "%$i", $argList[ $i ]); } error_log('-->> ' . date('h:i:s') . $txt.PHP_EOL, 3, $archivoLogs); } /** * Guardamos una traza en el archivo log del systema * * @param string $txt */ public static function saveSystem($txt) { $argNum = func_num_args(); $argList = func_get_args(); for ($i = 1; $i < $argNum; $i++) { $txt = HelpString::replaceFirst($txt, "%$i", $argList[ $i ]); } error_log('-->> '.$txt.PHP_EOL); } /** * Guardamos un error en un archivo de log un una ruta concreta. * Acepta múltiples parámetros formato sprintf con %1, %2, ... * * @param Exception $ex * @param $txt */ public static function saveExcepcion( Exception $ex, $txt ): void { /* Ruta completa donde ubicar el archivo de logs */ $archivoLogs = '../App/Logs/log-error-'.date('Y-m-d').'.txt'; $argNum = func_num_args(); $argList = func_get_args(); for ($i = 2; $i < $argNum; $i++) { $txt = HelpString::replaceFirst($txt, "%$i", $argList[ $i ]); } error_log('-->> '.date('h:i:s').' ERR: '.$txt.PHP_EOL, 3, $archivoLogs); if (!empty($ex)) { error_log('-->> ' . date('h:i:s') . ' EXC: ' . $ex->getMessage() . PHP_EOL, 3, $archivoLogs); error_log( '-->> ' . date('h:i:s') . ' EXC: ' . $ex->getTraceAsString() . PHP_EOL, 3, $archivoLogs); } } /** * Guardamos un error en un archivo de log un una ruta concreta. * Acepta múltiples parámetros formato sprintf con %1, %2, ... * * @param $txt */ public static function saveError( $txt ): void { /* Ruta completa donde ubicar el archivo de logs */ $archivoLogs = '../App/Logs/log-error-'.date('Y-m-d').'.txt'; $argNum = func_num_args(); $argList = func_get_args(); for ($i = 1; $i < $argNum; $i++) { $txt = HelpString::replaceFirst($txt, "%$i", $argList[ $i ]); } error_log('-->> ' . date('h:i:s') . ' ERR: ' . $txt . PHP_EOL, 3, $archivoLogs); } }