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();
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();
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>
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>

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>
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();
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.

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.

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.

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]».

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();
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.

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.


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.

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!

Le PHP reste important dans le développement Web moderne, en particulier dans la gestion de contenu et les plateformes de commerce électronique. 1) PHP a un écosystème riche et un fort soutien-cadre, tels que Laravel et Symfony. 2) L'optimisation des performances peut être obtenue via Opcache et Nginx. 3) PHP8.0 introduit le compilateur JIT pour améliorer les performances. 4) Les applications natives dans le cloud sont déployées via Docker et Kubernetes pour améliorer la flexibilité et l'évolutivité.

PHP convient au développement Web, en particulier dans le développement rapide et le traitement du contenu dynamique, mais n'est pas bon dans les applications de la science des données et de l'entreprise. Par rapport à Python, PHP présente plus d'avantages dans le développement Web, mais n'est pas aussi bon que Python dans le domaine de la science des données; Par rapport à Java, PHP fonctionne moins bien dans les applications au niveau de l'entreprise, mais est plus flexible dans le développement Web; Par rapport à JavaScript, PHP est plus concis dans le développement back-end, mais n'est pas aussi bon que JavaScript dans le développement frontal.

PHP et Python ont chacun leurs propres avantages et conviennent à différents scénarios. 1.PHP convient au développement Web et fournit des serveurs Web intégrés et des bibliothèques de fonctions riches. 2. Python convient à la science des données et à l'apprentissage automatique, avec une syntaxe concise et une bibliothèque standard puissante. Lors du choix, il doit être décidé en fonction des exigences du projet.

PHP est un langage de script largement utilisé du côté du serveur, particulièrement adapté au développement Web. 1.Php peut intégrer HTML, traiter les demandes et réponses HTTP et prend en charge une variété de bases de données. 2.PHP est utilisé pour générer du contenu Web dynamique, des données de formulaire de traitement, des bases de données d'accès, etc., avec un support communautaire solide et des ressources open source. 3. PHP est une langue interprétée, et le processus d'exécution comprend l'analyse lexicale, l'analyse grammaticale, la compilation et l'exécution. 4.PHP peut être combiné avec MySQL pour les applications avancées telles que les systèmes d'enregistrement des utilisateurs. 5. Lors du débogage de PHP, vous pouvez utiliser des fonctions telles que error_reportting () et var_dump (). 6. Optimiser le code PHP pour utiliser les mécanismes de mise en cache, optimiser les requêtes de base de données et utiliser des fonctions intégrées. 7

Les raisons pour lesquelles PHP est la pile technologique préférée pour de nombreux sites Web incluent sa facilité d'utilisation, son soutien communautaire solide et son utilisation généralisée. 1) Facile à apprendre et à utiliser, adapté aux débutants. 2) Avoir une énorme communauté de développeurs et des ressources riches. 3) Largement utilisé dans WordPress, Drupal et d'autres plateformes. 4) Intégrez étroitement aux serveurs Web pour simplifier le déploiement du développement.

PHP reste un outil puissant et largement utilisé dans la programmation moderne, en particulier dans le domaine du développement Web. 1) PHP est facile à utiliser et intégré de manière transparente aux bases de données, et est le premier choix pour de nombreux développeurs. 2) Il prend en charge la génération de contenu dynamique et la programmation orientée objet, adaptée à la création et à la maintenance des sites Web rapidement. 3) Les performances de PHP peuvent être améliorées en mettant en cache et en optimisant les requêtes de base de données, et sa vaste communauté et son écosystème riche le rendent toujours important dans la pile technologique d'aujourd'hui.

En PHP, les références faibles sont mises en œuvre via la classe FaibleRreference et n'empêcheront pas le collecteur des ordures de récupérer des objets. Les références faibles conviennent aux scénarios tels que les systèmes de mise en cache et les auditeurs d'événements. Il convient de noter qu'il ne peut garantir la survie des objets et que la collecte des ordures peut être retardée.

La méthode \ _ \ _ Invoke permet aux objets d'être appelés comme des fonctions. 1. Définissez la méthode \ _ \ _ Invoquer afin que l'objet puisse être appelé. 2. Lorsque vous utilisez la syntaxe $ obj (...), PHP exécutera la méthode \ _ \ _ Invoke. 3. Convient pour des scénarios tels que la journalisation et la calculatrice, l'amélioration de la flexibilité et de la lisibilité du code.


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Version Mac de WebStorm
Outils de développement JavaScript utiles

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Dreamweaver Mac
Outils de développement Web visuel

mPDF
mPDF est une bibliothèque PHP qui peut générer des fichiers PDF à partir de HTML encodé en UTF-8. L'auteur original, Ian Back, a écrit mPDF pour générer des fichiers PDF « à la volée » depuis son site Web et gérer différentes langues. Il est plus lent et produit des fichiers plus volumineux lors de l'utilisation de polices Unicode que les scripts originaux comme HTML2FPDF, mais prend en charge les styles CSS, etc. et présente de nombreuses améliorations. Prend en charge presque toutes les langues, y compris RTL (arabe et hébreu) et CJK (chinois, japonais et coréen). Prend en charge les éléments imbriqués au niveau du bloc (tels que P, DIV),

Télécharger la version Mac de l'éditeur Atom
L'éditeur open source le plus populaire