Maison > développement back-end > tutoriel php > Loggotage PHP plus efficace avec Loggly

Loggotage PHP plus efficace avec Loggly

William Shakespeare
Libérer: 2025-02-18 08:31:09
original
700 Les gens l'ont consulté

Loggotage PHP plus efficace avec Loggly

Cet article a été parrainé par Loggly. Merci de soutenir les sponsors qui rendent le point de point possible.

serveur surchargé, bibliothèque lançant une exception, erreur lors de l'envoi de courriels: ces erreurs font malheureusement partie de chaque système. Si vous êtes chargé de bien faire fonctionner un système, c'est toujours un confort froid. De plus, je parie que vous avez déjà toutes les données dont vous avez besoin pour les résoudre dans vos fichiers journaux.

Mais avoir accès à ces données n'aide vraiment que si vous avez un moyen de stocker, de traiter et d'analyser ces données. Dans cet article, je vais expliquer comment utiliser ces données plus efficacement en utilisant une bibliothèque de journalisation PHP avec une solution de gestion de journaux appropriée (dans ce cas, Loggly). Je vais également montrer un exemple sur la façon d'utiliser un service de gestion de journaux pour les stocker et les analyser plus facilement.

Les plats clés

  • Loggly est un outil de journalisation PHP populaire qui fournit une gestion de journaux centralisée, une surveillance en temps réel, des capacités de recherche avancées et prend en charge un large éventail de formats de journal. Il peut être facilement intégré à PHP et est particulièrement utile pour les applications à grande échelle où les journaux sont générés à partir de plusieurs sources.
  • Loggly peut facilement être intégrée à Monolog, une bibliothèque de journalisation PHP et Laravel, un cadre PHP. Il peut également être configuré sur Heroku, une plate-forme cloud, pour assurer le suivi approprié des journaux dans un environnement de production.
  • Loggly fournit un moyen impressionnant de rechercher, de regrouper et de visualiser les données de journal. Il propose un ensemble d'outils sur sa page de recherche pour filtrer, analyser et visualiser les journaux. Loggly fournit également un outil d'alerte qui peut être configuré pour envoyer des notifications chaque fois qu'une action se produit sur une application.

PHP Logging

Lors de la connexion avec PHP, nous avons tendance à utiliser les fonctions Error_Log et Trigger_error, ou nous pouvons utiliser un gestionnaire d'erreurs pour rendre le processus de journalisation plus générique. Si vous choisissez de le faire de cette façon, vous devrez envelopper vos fonctions dans une sorte d'objet pour rendre les choses plus propres et flexibles. Vous pouvez également transmettre vos journaux directement à votre système pour les gérer, en utilisant la fonction syslog.

openlog('php', LOG\_CONS | LOG\_NDELAY | LOG\_PID, LOG\_USER | LOG\_PERROR); syslog(LOG\_ERR, 'Error!'); syslog(LOG\_INFO, 'Hello World!'); closelog();
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Mais que feriez-vous si vous deviez vous connecter à plusieurs endroits en même temps, ou si vous envoyiez des journaux à un service donné en fonction du niveau d'erreur? Plutôt que d'utiliser des outils intégrés, il est souvent plus facile d'utiliser les bibliothèques forestières.

pourquoi j'utilise monologue

Alors que certaines recommandent des bibliothèques comme Log4Php, Klogger et Monolog tentent de résoudre ces problèmes courants, ils ont quelques limites et Monologue a beaucoup d'avantages sur eux.

  • c'est conforme PSR-3
  • comprend les gestionnaires pour une variété de services, y compris les journaux logiciels.
  • Prise en charge des formateurs pour personnaliser la sortie de vos journaux.
  • Aiders pour la journalisation du développement comme le BrowserconsoleHandler pour la connexion à la console du navigateur.

Assurez-vous de vérifier la documentation pour plus de détails sur le package. Les frameworks les plus populaires incluent Monolog Out of the Box, alors cochez la liste complète de la documentation. Si vous n'avez pas installé monologue, vous pouvez l'ajouter à un projet à l'aide de composer.

openlog('php', LOG\_CONS | LOG\_NDELAY | LOG\_PID, LOG\_USER | LOG\_PERROR); syslog(LOG\_ERR, 'Error!'); syslog(LOG\_INFO, 'Hello World!'); closelog();
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Les problèmes de journalisation à l'échelle

Étant donné que la journalisation nécessite une écriture sur le disque, en effectuant des sauvegardes et en recherchant des fichiers, certaines entreprises créent un service distinct pour gérer le travail (généralement un ensemble de scripts ou d'applications pour rechercher des fichiers GREP pour les informations lorsqu'une sorte d'erreur se produit). Au fur et à mesure que votre entreprise ou votre service s'allonge, cela peut rapidement devenir un cauchemar pour vos développeurs et analystes. Une autre alternative, meilleure est un service basé sur le cloud pour leur stockage et leur analyse de journaux, ce qui présente beaucoup d'avantages, car nous en discuterons plus loin dans cet article.

Qu'est-ce que Loggly?

Il existe plusieurs services de gestion des journaux qui faciliteront le stockage et l'analyse de vos journaux. Loggly est la plus populaire et il a plusieurs façons de s'intégrer à PHP. Une fois que Loggly aura reçu vos journaux, vous pourrez rechercher, regrouper et visualiser vos données de manière vraiment impressionnante. Vous pouvez l'essayer gratuitement. Vous ne payez que si vous avez un trafic important sur votre site. Commençons d'abord en cherchant comment l'installer sur votre serveur pour suivre vos journaux système.

en utilisant la connexion avec monologue

Si vous avez décidé de suivre la bibliothèque de packages Monology pour votre processus de journalisation, il est très facile de l'intégrer à n'importe quel service de gestion de journaux, y compris la connexion.

Par défaut, il est livré avec un logglyhandler pour loggly.

composer <span>require monolog/monolog</span>
Copier après la connexion

Après avoir créé une instance monologue, nous allons pousser notre gestionnaire vers la liste des gestionnaires enregistrés, et vous devrez fournir votre jeton comme mentionné précédemment. La partie tag est facultative, mais c'est toujours une bonne idée de séparer vos entrées de journal en les marquant en conséquence. Maintenant, nous sommes prêts à commencer la connexion à notre service en utilisant Monolog.

<span>$logger = new <span>\Monolog\Logger</span>('local_test_app'); $logger->pushHandler(new <span>\Monolog\Handler\LogglyHandler</span>('YOUR_TOKEN/tag/monolog'));</span>
Copier après la connexion
Loggotage PHP plus efficace avec Loggly

Liggly avec Laravel

Étant donné que Laravel utilise monologue pour le processus de journalisation, nous pouvons facilement lui lier notre gestionnaire.

<span>$logger->addInfo("Info test from monolog"); //$logger->addWarning("Warning test from monolog");</span>
Copier après la connexion

Configuration de la connexion sur Heroku

Lorsque vous déplacez votre application en production, vous souhaitez vous assurer que le suivi des journaux fonctionne correctement. Dans cette section, nous allons attacher la connexion à notre application Heroku. Heroku utilise des drains de journaux pour vous aider à transmettre vos journaux à un service de journalisation externe. Vous pouvez vérifier la documentation pour plus de détails sur le processus d'installation.

openlog('php', LOG\_CONS | LOG\_NDELAY | LOG\_PID, LOG\_USER | LOG\_PERROR); syslog(LOG\_ERR, 'Error!'); syslog(LOG\_INFO, 'Hello World!'); closelog();
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Vous devez mettre à jour le jeton avec votre jeton réel que vous pouvez trouver sur la page Source Configuration> Customer Tokens. Le nom Heroku_App_nom peut être omis si vous êtes déjà connecté à votre instance Heroku, sinon vous devez spécifier le nom de votre application Heroku.

L'URL de drain se termine par TAG / HEROKU, cela nous aidera à filtrer nos journaux en utilisant la balise définie, nous en parlerons davantage plus tard.

Loggotage PHP plus efficace avec Loggly

Loggly peut être facilement intégrée à n'importe quel service externe comme Heroku. Vérifiez la documentation Loggly pour un aperçu des méthodes de transmission de journaux et des scripts ou bibliothèques disponibles.

Analyse des journaux avec Loggly

Maintenant que nous avons discuté de la façon d'envoyer vos journaux à enregistrer, nous pouvons commencer à analyser et à travailler avec nos données. La page de recherche fournit un ensemble d'outils pour filtrer, analyser et visualiser nos journaux.

Loggotage PHP plus efficace avec Loggly

Le tableau de bord montre une chronologie de vos événements ainsi qu'une liste de journaux en bas. Le haut de la page contient une zone de recherche et une plage de dates pour filtrer les événements, vous pouvez sélectionner les 30 dernières minutes ou spécifier une plage de dates personnalisée par exemple et cliquer sur la recherche pour valider.

Filtrage des journaux

Vous pouvez utiliser l'entrée de recherche pour filtrer les données à l'aide d'un terme spécifique comme «Email» ou «Event_ *». Loggly recherchera dans le corps de vos entrées de journal et affichera le résultat en bas de la page. Vous pouvez également utiliser des champs pour la recherche, comme «Tag: Monolog» pour filtrer les événements envoyés précédemment de Monolog. Le menu du côté gauche est appelé l'explorateur de champ dynamique et peut vous aider à identifier les filtres de champ disponibles.

Loggotage PHP plus efficace avec Loggly

Prenons les exemples suivants pour mieux comprendre comment analyser les journaux.

Erreurs du serveur interne

Une erreur de serveur interne est lancée lorsque votre serveur n'a pas pu traiter une demande valide de l'utilisateur. Dans PHP, des détails sur cette erreur peuvent être trouvés dans vos journaux Apache, si vous enregistrez un gestionnaire d'erreurs à l'aide de PHP, vous pouvez regrouper vos propres fichiers journaux afin que vous puissiez les analyser et corriger les erreurs en fonction du message du journal.

Vous pouvez utiliser le widget Explorer de champ sur le côté gauche de la page pour filtrer les journaux à l'aide du code d'état Apache 5xx. La recherche peut être spécifique comme «apache.status: 500» ou vous pouvez le rendre plus générique comme «apache.status: [500 à 599]».

Loggotage PHP plus efficace avec Loggly

Erreurs mortelles

Dans PHP, lorsqu'une erreur fatale est lancée, le programme arrêtera l'exécution et enregistrera l'erreur à votre système. Parce que les erreurs mortelles ne sont pas censées se produire sur la production, Loggly fournit un moyen facile de suivre la gravité des erreurs de différentes sources. Le terme «syslog.appname: php» ne montrera que des journaux PHP, maintenant nous devons afficher des erreurs à partir d'une gravité spécifique en utilisant le terme Syslog.Severity: Erreur, nous pouvons également spécifier une plage comme «Syslog.Severity: [Avertissement à l'erreur ]] ». Vous pouvez en savoir plus sur la liste des champs disponibles sur la documentation.

openlog('php', LOG\_CONS | LOG\_NDELAY | LOG\_PID, LOG\_USER | LOG\_PERROR); syslog(LOG\_ERR, 'Error!'); syslog(LOG\_INFO, 'Hello World!'); closelog();
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

La plupart du temps, nous affichons les résultats en tant que liste, mais vous voudrez peut-être utiliser un autre graphique de la liste des graphiques en bas de la page.

Loggotage PHP plus efficace avec Loggly

Alertes

L'une de mes fonctionnalités préférées sur Loggly est l'outil Alertes. Vous pouvez configurer Loggly pour envoyer des notifications à votre e-mail ou à un autre service chaque fois qu'une action se produit sur votre application. Passons en détail le processus en détail.

Vous devez d'abord créer une nouvelle recherche et l'enregistrer. Prenons cette recherche par exemple: «syslog.appname: php et php.level:« error fatal »»

Cela nous montrera la liste des erreurs fatales PHP sur notre système. Ensuite, nous devons enregistrer ces critères de recherche. Cliquez sur la petite étoile en haut à droite de la page de tableau de bord, sélectionnez l'élément «Enregistrer cette recherche comme…» et nommer la recherche.

Loggotage PHP plus efficace avec Loggly Loggotage PHP plus efficace avec Loggly

Maintenant, nous pouvons aller à la liste des alertes et cliquer sur Ajouter un nouveau pour en créer un nouveau. Après avoir donné un nom et une description à votre alerte, vous pouvez sélectionner une recherche enregistrée dans la liste et une condition (alerte si le nombre est> = 1 dans les 5 minutes). Pour mon exemple, j'enverrai une notification par e-mail, mais si vous avez un service qui transmet automatiquement l'erreur à votre équipe pour vérification, vous pouvez la configurer pour la publier sur votre point de terminaison. Vous pouvez en savoir plus sur les alertes sur la documentation.

Loggotage PHP plus efficace avec Loggly

Conclusion

Loggly peut modifier la façon dont vous traitez vos journaux, de la recherche regexp à l'archivage. Le service a également un excellent UX, et la documentation est très simple, couvrant la majorité des possibilités. Vous pouvez commencer par un essai gratuit pour tester toutes les fonctionnalités. Si vous avez des questions, n'hésitez pas à les publier ci-dessous et je ferai de mon mieux pour y répondre.

Comment facilitez-vous la journalisation PHP?

Questions fréquemment posées (FAQ) sur la connexion PHP avec Loggly

Qu'est-ce qui fait de Loggly un bon choix pour la journalisation PHP?

Loggly se distingue comme un puissant outil de journalisation PHP en raison de ses caractéristiques robustes et de sa facilité d'utilisation. Il fournit une gestion des journaux centralisés, ce qui signifie que vous pouvez accéder et gérer tous vos journaux à partir d'un seul endroit. Ceci est particulièrement utile pour les applications à grande échelle où les journaux sont générés à partir de plusieurs sources. Loggly prend également en charge une large gamme de formats de journal, y compris PHP, ce qui le rend polyvalent pour différentes applications. Il offre une surveillance et une analyse des journaux en temps réel, ce qui peut aider à identifier et à résoudre rapidement les problèmes. De plus, Loggly fournit des capacités de recherche avancées, ce qui facilite la recherche d'entrées de journal spécifiques.

Comment se compare à la loggly aux autres bibliothèques de journalisation PHP?

Par rapport aux autres bibliothèques de journalisation PHP, LOGGLY offre plus avancé plus avancé. caractéristiques. Alors que la plupart des bibliothèques permettent des fonctionnalités de journalisation de base, Loggly va plus loin en fournissant une gestion des journaux centralisés, une surveillance en temps réel et des capacités de recherche avancées. Il prend également en charge une gamme plus large de formats de journal. Cependant, il est important de noter que le choix d'une bibliothèque forestière dépend en grande partie des besoins spécifiques de votre application. Certains développeurs pourraient préférer des bibliothèques plus simples pour des applications plus petites, tandis que d'autres pourraient avoir besoin des fonctionnalités robustes de la connexion pour des applications plus grandes et plus complexes.

Est-ce que Loggly est facile à intégrer avec PHP?

Oui, Loggly est est-il facile Relativement facile à intégrer avec PHP. Il fournit une API simple que vous pouvez utiliser pour envoyer des journaux de votre application PHP à Loggly. Le processus consiste à installer la bibliothèque Loggly, à la configurer avec votre jeton Client Loggly, puis à utiliser les fonctions de la bibliothèque pour envoyer des journaux. Des instructions détaillées et des exemples de code sont fournis dans la documentation Loggly, ce qui facilite le processus d'intégration, même pour les débutants.

Puis-je utiliser la connexion pour la surveillance du journal PHP en temps réel?

Absolument. L'une des principales caractéristiques de Loggly est ses capacités de surveillance des journaux en temps réel. Cela signifie que vous pouvez afficher et analyser vos journaux PHP à mesure qu'ils sont générés, vous permettant d'identifier et de résoudre rapidement les problèmes. Loggly fournit également des fonctionnalités d'alerte, qui peuvent vous aviser lorsque certaines conditions sont remplies dans vos journaux. Cela peut être particulièrement utile pour détecter et répondre à des problèmes critiques.

Comment fonctionne les fonctionnalités de recherche de Loggly?

La fonctionnalité de recherche de Loggly est conçue pour faciliter la recherche d'entrées de journal spécifiques. Vous pouvez rechercher des journaux en fonction de divers paramètres, tels que le niveau de journal, la source du journal ou toute autre donnée contenue dans le journal. Loggly prend également en charge les requêtes de recherche avancées, vous permettant de combiner plusieurs paramètres et opérateurs pour des résultats de recherche plus précis. Les résultats de la recherche sont affichés dans un format convivial, avec des options pour filtrer et trier les journaux.

Quelles sont les alternatives à la connexion pour la journalisation PHP?

Bien que Loggly soit un outil puissant pour la journalisation PHP, il existe plusieurs autres bibliothèques que vous pourriez considérer. Il s'agit notamment de Monolog, qui est une bibliothèque de journalisation PHP largement utilisée avec la prise en charge de divers gestionnaires de journaux; Apache log4php, un cadre de journalisation polyvalent pour PHP; et Klogger, une bibliothèque de journalisation simple basée sur des fichiers pour PHP. Chacune de ces bibliothèques a ses propres forces et faiblesses, de sorte que le meilleur choix dépend de vos besoins spécifiques.

est-il adapté à Loggly pour les applications PHP à grande échelle?

Oui, la journalité est bien adaptée Pour les applications PHP à grande échelle. Sa fonction de gestion des journaux centralisée facilite la gestion des journaux à partir de plusieurs sources, ce qui est courant dans les grandes applications. De plus, ses capacités de surveillance et de recherche avancées en temps réel peuvent aider à gérer le grand volume de journaux générés par ces applications. Cependant, il est important de noter que Loggly est un service payant, vous devrez donc tenir compte du facteur de coût lors du choix d'un outil de journalisation pour les applications à grande échelle.

Puis-je utiliser la connexion pour la journalisation des erreurs de PHP?

Oui, vous pouvez utiliser Loggly pour la journalisation des erreurs PHP. En fait, la journalisation des erreurs est l'une des utilisations les plus courantes de Loggly. Il vous permet de capturer et d'analyser les journaux d'erreur de votre application PHP, vous aidant à identifier et à résoudre les problèmes. Loggly prend en charge divers formats de journal d'erreur, et vous pouvez personnaliser le niveau de journalisation pour capturer différents types d'erreurs.

À quel point la connexion est sécurisée pour la journalisation PHP?

Loggly prend la sécurité au sérieux et implémente plusieurs mesures à protégez vos données de journal. Cela comprend le cryptage des données en transit et au repos, des audits de sécurité réguliers et le respect des normes de l'industrie telles que SOC 2. Cependant, comme pour tout service tiers, il est important de revoir leurs pratiques de sécurité et de s'assurer qu'ils répondent à vos exigences.

Puis-je personnaliser le format de journal dans Loggly?

Oui, Loggly vous permet de personnaliser le format de journal. Cela signifie que vous pouvez structurer vos journaux d'une manière qui répond le mieux à vos besoins. Vous pouvez inclure diverses données dans vos journaux, tels que le niveau de journal, la source du journal, les horodatages et toute autre information pertinente. Cela peut faciliter l'analyse des journaux et extraire des informations utiles.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal