ReportLog
Versión en Español
ReportLog captura el error y lo almacena en un archivo de texto plano ".txt" o tambien permite almacenarlo en una tabla de la base de datos, según la configuración.
Configurando el tipo de almacenamiento
Para configurar el tipo de almacenamiento, debe modificar la siguiente linea en el archivo Connection.php
.
private static $useDB = false; // Switch to True if you are using the database
Almacenamiento en .txt
Si desea almacenar los datos en un archivo de texto ".txt" debe establecer la siguiente variable en false.
private static $useDB = false;
Al establecer el almacenamiento de log en el archivo .txt, se creara un directorio con el nombre de storage
y dentro de este se crearan archivos con el nombre log_2019-01-21.txt
, donde la fecha cambia según el dia del error, para asi poder identificarlo mucho mas rapido.
Rutade almacenamiento del log en .txt
El almacenamiento de los logs se encuentran en el directorio storage
, el cual sera creado la primera vez que se genere un error, siempre y cuando la variable $useDB
este en false;
Almacenamiento en base de datos
Para almacenar los datos a una tabla de la base de datos debera ejecutar el script create_report_logs_table.sql
en su base de datos.
Al importar el archivo create_report_logs_table.sql
, se creara una tabla con los campos necesarios para el almacenamiento de los errores.
Si desea almacenar los datos en una tabla de la base datos debe establecer la siguiente variable en true.
private static $useDB = true;
Ademas debera configurar las credenciales para la conexión de la base de datos en las siguientes variables.
private static $HOST = 'localhost'; private static $PORT = 3306; private static $DB = 'DATABASE'; // Database name private static $USER = 'USERNAME'; // Database username private static $PASS = 'PASSWORD'; // Database password
La tabla report_logs
tiene los siguientes campos:
- id (ID del error)
- type_error (Tipo de error)
- message (Mensaje de error)
- trace (Traza de propagación del error)
- file (Archivo final de propagación del error)
- line (Linea de codigo cercano al error)
Importación de la conexión
Importe el archivo de conexión
require_once 'Connection.php';
Cree una variable privada para el ReportLog
private $reportLog;
Inicialize la variable del reportLog con una nueva instancia.
function __construct() { $this->reportLog = new ReportLog(); }
Para guardar el log debera establecer en un try-catch
try { // Bloque de codigo que puede generar un error } catch (\Exception $e) { // Capturamos el error $this->reportLog->error($e); }
Tipos de logs de errores
Podrá usar los siguientes logs de errores, según la necesidad.
$this->reportLog->emergency($exception); $this->reportLog->alert($exception); $this->reportLog->critical($exception); $this->reportLog->error($exception); $this->reportLog->warning($exception); $this->reportLog->notice($exception); $this->reportLog->info($exception); $this->reportLog->debug($exception);
Intalación por NPM
Para instalar como paquete desde npm ejecute el siguiente comando.
npm i @jesusmatiz/reportlog
Requerimientos
- PHP >= 5.6
Version in English
ReportLog captures the error and stores it in a plain text file ".txt " or also allows it to be stored in a database table, depending on the configuration.
Configuring the storage Type
To configure the storage type, you must modify the following line in the Connection.php
file.
private static $useDB = false; Switch to True If you are using the database
.txt storage
If you want to store the data in a text file ".txt"
You must set the following variable to false.
private static $useDB = false;
When you set log storage to the file .txt
, will create a directory with the name of storage and within this will create files named log_2019-01-21.txt
, where the date changes according to the day of the error, so you can identify much faster.
Log storage path in .txt
Log storage is located in the storage
directory, which will be created the first time an error is generated, as long as the variable $useDB
is set to false;
Database storage
To store the data to a database table you must run the create_report_logs_table.sql
script in your database.
When you import the create_report_logs_table.sql
file, you create a table with the required fields for error storage.
If you want to store the data in a table in the database, you must set the following variable to true.
private static $useDB = true;
You must also configure the credentials for the database connection in the following variables.
private static $HOST = 'localhost'; private static $PORT = 3306; private static $DB = 'DATABASE'; // Database Name private static $USER = 'USERNAME'; // Database username private static $PASS = 'PASSWORD'; // Database Password
The report_logs table has the following fields:
id (Error ID) type_error (Error type) message (Message error) trace (Error propagation trace) file (end error propagation file) line (line of code close to the error)
##Importing the connection
Import the Connection file
require_once 'Connection.php';
Create a private variable for the ReportLog
private $reportLog;
Initialize the REPORTLOG variable with a new instance.
function _construct() { $this->reportLog = new ReportLog(); }
To save the log you must set in a try-catch
try code block that can generate an error } catch (Exception $e) { We capture the error $this-> ReportLog-> error ($E); }
Types of error logs
You can use the following error logs, as needed.
$this->reportLog->emergency ($exception); $this->reportLog->alert ($exception); $this->reportLog->critical ($exception); $this->reportLog->error ($exception); $this->reportLog->warning ($exception); $this->reportLog->notice ($exception); $this->reportLog->info ($exception); $this->reportLog->debug ($exception);
Installation by NPM
To install as a package from NPM run the following command.
npm I @jesusmatiz/reportlog
Requirements
- PHP >= 5.6