
Paquete de compositor liviano para registro de archivos con la capacidad de enviar errores con Webhook.
Ejemplo de uso
Para configurar la ruta globalmente para todos los archivos de registro, puede llamar al método setPath en su archivo Bootstrap.
use Serhii TinyLogger Logger ;
Logger:: setPath ( ' logs/errors.log ' ); // simple format
Logger:: setPath ( ' logs/%s.log ' , ' errors ' ); // sprintf formatNota: Si desea usar Logger en un cron scripts o algo así como WordPress Hook, debe llamar
setPath()en el primer paso de la ejecución del script, significa que su proyecto puede tener múltiples lugares donde necesita configurar ruta para sus registros. Si no desea llamarsetPath()puede pasar la ruta a una funcióntiny_log()como un tercer argumento. Vea un ejemplo en la sección de uso.
Este paquete viene con una función tiny_log() donde no se requieren argumentos segundo y tercero.
tiny_log ( ' Some error message ' );
// Output in file: [2020-01-12 04:09:16] error: Some error message.
tiny_log ( ' Some error message ' , ' info ' );
// Output in file: [2020-01-12 04:09:16] info: Some error message.
tiny_log ( ' Some error message ' , ' debug ' , ' logs/debug.log ' );
// If you don't need to set path globally, just pass file path as the third argument to the tiny_log function .También puede usar la clase Logger si lo desea. Hará lo mismo que usar la función.
use Serhii TinyLogger Logger ;
Logger:: new ()-> error ( ' Some error message ' );
Logger:: new ()-> info ( ' Some info message ' );
Logger:: new ()-> debug ( ' Some error message ' ); Para usar una de las opciones disponibles, opcionalmente puede pasar cierto indicador a la función tiny_log() como el segundo argumento. Si también necesita pasar el tipo de error, simplemente separarlos con la tubería | personaje. Vea el ejemplo con la opción pos :
tiny_log ( ' Some error message ' , ' pos ' ); // just passing option
tiny_log ( ' Some error message ' , ' pos|error ' ); // 'pos' option with error type 'error'
tiny_log ( ' Some error message ' , ' pos|info ' ); // 'pos' option with error type 'info' pos - Mostrar posición del registrador. En qué archivo y en qué número de línea es. Es útil cuando estás depurando, para no olvidar dónde pones tu registrador. Ver el ejemplo de salida: [2020-01-12 04:09:16] info: Some log message goes here
>>> /var/www/html/app/Services/App.php on line: 77.
Tiny Logger le permite enviar registros como objeto JSON en un punto final específico. Para habilitar esta opción, debe llamar al método enablePostRequest en la clase Logger . Para deshabilitar la solicitud posterior, use el método disablePostRequest .
use Serhii TinyLogger Logger ;
Logger:: enablePostRequest ( ' http://my-site.com/webhook ' ); Ahora, si se produce un error, JSON se enviará a http://my-site.com/webhook Endpoint con la solicitud posterior.
{
"timestamp" : " 1611675632 " ,
"message" : " Undefined variable at line 24 in \ App \ Models \ User class. " ,
"type" : " error "
} Si necesita personalizar la estructura del objeto JSON, puede pasar la matriz como el segundo argumento en el método enablePostRequest .
use Serhii TinyLogger JsonFieldValue ;
use Serhii TinyLogger Logger ;
Logger:: enablePostRequest ( ' http://my-site.com/webhook ' , [
' time ' => JsonFieldValue:: TIMESTAMP ,
' errorMessage ' => ' Error message: ' . JsonFieldValue:: MESSAGE ,
' errorType ' => JsonFieldValue:: ERROR_TYPE ,
' token ' => getenv ( ' MY_AUTH_TOKEN ' )
]);Ahora obtendrás JSON así:
{
"time" : " 1611675632 " ,
"errorMessage" : " Error message: Undefined variable at line 24 in \ App \ Models \ User class. " ,
"errorType" : " error " ,
"token" : " 29d62x7g656e6f9 "
}Cada constante de JsonfieldValue será reemplazada por su valor. Por ejemplo, el mensaje JSONFIELDVALUE :: se reemplazará con el mensaje de error. JSONFIELDVALUE :: TimeStamp se reemplazará con una marca de tiempo de error.
Nota: Si desea usar Logger en un cron scripts o algo así como WordPress Hook, debe llamar a
enablePostRequesten el primer paso de la ejecución del script.
Para instalar todas las dependencias de PHP, debe tener instalado el Administrador de paquetes PHP Composer en su máquina. Luego debe ejecutar el comando a continuación en su directorio raíz del proyecto.
composer require serhii/tiny-logger