
Package de compositeur léger pour la journalisation des fichiers avec la capacité d'envoyer des erreurs avec WebHook.
Exemple d'utilisation
Pour la configuration du chemin à niveau global pour tous les fichiers journaux, vous pouvez appeler la méthode setPath dans votre fichier bootstrap.
use Serhii TinyLogger Logger ;
Logger:: setPath ( ' logs/errors.log ' ); // simple format
Logger:: setPath ( ' logs/%s.log ' , ' errors ' ); // sprintf formatRemarque: Si vous souhaitez utiliser Logger dans un Cron Scripts ou quelque chose comme WordPress Hook, vous devez appeler
setPath()à la toute première étape de l'exécution du script, cela signifie que votre projet peut avoir plusieurs endroits où vous devez définir le chemin de la voie pour vos journaux. Si vous ne voulez pas appelersetPath()vous pouvez simplement passer le chemin à une fonctiontiny_log()comme un troisième argument. Voir un exemple dans la section d'utilisation.
Ce package est livré avec une fonction tiny_log() où les deuxième et troisième arguments ne sont pas requis.
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 .Vous pouvez également utiliser la classe Logger si vous le souhaitez. Il fera de même que l'utilisation de la fonction.
use Serhii TinyLogger Logger ;
Logger:: new ()-> error ( ' Some error message ' );
Logger:: new ()-> info ( ' Some info message ' );
Logger:: new ()-> debug ( ' Some error message ' ); Pour utiliser l'une des options disponibles, vous pouvez éventuellement passer certains indicateurs à tiny_log() comme deuxième argument. Si vous devez également passer le type d'erreur, séparez-les avec le tuyau | personnage. Voir l'exemple avec l'option 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 - Afficher la position de l'enregistreur. Dans quel fichier et sur quel numéro de ligne il s'agit. Il est utile lorsque vous déboguez, pour ne pas oublier où vous mettez votre bûcheron. Voir l'exemple de sortie: [2020-01-12 04:09:16] info: Some log message goes here
>>> /var/www/html/app/Services/App.php on line: 77.
Tiny Logger vous permet d'envoyer des journaux en tant qu'objet JSON sur un point de terminaison spécifique. Pour activer cette option, vous devez appeler la méthode enablePostRequest sur la classe Logger . Pour désactiver la demande de demande de demande disablePostRequest .
use Serhii TinyLogger Logger ;
Logger:: enablePostRequest ( ' http://my-site.com/webhook ' ); Maintenant, si une erreur se produit, JSON sera envoyée à http://my-site.com/webhook endpoint avec la demande de publication.
{
"timestamp" : " 1611675632 " ,
"message" : " Undefined variable at line 24 in \ App \ Models \ User class. " ,
"type" : " error "
} Si vous avez besoin de personnaliser la structure des objets JSON, vous pouvez passer le tableau comme deuxième argument sur la méthode 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 ' )
]);Maintenant, vous obtiendrez JSON comme ceci:
{
"time" : " 1611675632 " ,
"errorMessage" : " Error message: Undefined variable at line 24 in \ App \ Models \ User class. " ,
"errorType" : " error " ,
"token" : " 29d62x7g656e6f9 "
}Chaque constante JSONFieldValue sera remplacée par sa valeur. Par exemple, le message JSONFieldValue :: sera remplacé par le message d'erreur. JSONFieldValue :: L'horodatage sera remplacé par un horodatage d'erreur.
Remarque: Si vous souhaitez utiliser Logger dans un Cron Scripts ou quelque chose comme WordPress Hook, vous devez appeler
enablePostRequestà la toute première étape de l'exécution du script.
Pour installer toutes les dépendances PHP, vous devez faire installer le compositeur de package PHP sur votre machine. Ensuite, vous devez exécuter la commande ci-dessous dans votre répertoire racine du projet.
composer require serhii/tiny-logger