Effektivere PHP

William Shakespeare
William ShakespeareOriginal
2025-02-18 08:31:09705Durchsuche

Effektivere PHP

Dieser Artikel wurde von Logly gesponsert. Vielen Dank, dass Sie die Sponsoren unterstützt haben, die SitePoint ermöglichen.

Server überlastet, Bibliothek eine Ausnahme, Fehler beim Senden von E -Mails: Diese Fehler sind leider Teil jedes Systems. Wenn Sie für eine gute Funktion des Systems verantwortlich sind, ist dies immer noch ein kalter Komfort. Ich wette, Sie haben bereits alle Daten, die Sie benötigen, um sie in Ihren Protokolldateien zu sitzen.

, aber Zugriff auf diese Daten hilft nicht wirklich, es sei denn, Sie haben eine Möglichkeit, diese Daten zu speichern, zu verarbeiten und zu analysieren. In diesem Artikel werde ich erläutern, wie diese Daten effektiver verwendet werden, indem eine PHP -Protokollierungsbibliothek mit einer ordnungsgemäßen Lösung für Protokollverwaltungen verwendet wird (in diesem Fall legly). Ich werde auch ein Beispiel dafür zeigen, wie Sie einen Protokollverwaltungsdienst verwenden, um sie einfacher zu speichern und zu analysieren.

Key Takeaways

  • loggly ist ein beliebtes PHP-Protokollierungs-Tool, das zentralisierte Protokollverwaltung, Echtzeitüberwachung und erweiterte Suchfunktionen bietet und eine breite Palette von Protokollformaten unterstützt. Es kann leicht in PHP integriert werden und ist besonders nützlich für groß angelegte Anwendungen, bei denen Protokolle aus mehreren Quellen generiert werden.
  • loggly kann leicht in Monolog, eine PHP -Protokollierungsbibliothek und Laravel, ein PHP -Framework, integriert werden. Es kann auch auf Heroku, einer Cloud -Plattform, konfiguriert werden, um eine ordnungsgemäße Protokollverfolgung in einer Produktionsumgebung zu gewährleisten.
  • loggly bietet eine beeindruckende Möglichkeit, Protokolldaten zu suchen, zu gruppieren und zu visualisieren. Es bietet eine Reihe von Tools auf seiner Suchseite, um Protokolle zu filtern, zu analysieren und zu visualisieren. Loggly bietet auch ein Warnentool, das so konfiguriert werden kann, dass Benachrichtigungen nach einer Aktion auf eine Anwendung eintreten.

PHP -Protokollierung

Bei der Anmeldung mit PHP verwenden wir die Funktionen für Fehler_log und Trigger_error oder können einen Fehlerhandler verwenden, um den Protokollierungsprozess generischer zu gestalten. Wenn Sie dies auf diese Weise tun, müssen Sie Ihre Funktionen in eine Art Objekt einwickeln, um die Dinge sauberer und flexibler zu machen. Sie können Ihre Protokolle auch direkt an Ihr System weiterleiten, um sie mit der Syslog -Funktion zu verarbeiten.

openlog('php', LOG\_CONS | LOG\_NDELAY | LOG\_PID, LOG\_USER | LOG\_PERROR); syslog(LOG\_ERR, 'Error!'); syslog(LOG\_INFO, 'Hello World!'); closelog();

Aber was würden Sie tun, wenn Sie gleichzeitig an mehreren Stellen protokollieren müssten, oder Sie abhängig von der Fehlerebene Protokolle an einen bestimmten Dienst gesendet haben? Anstatt integrierte Tools zu verwenden, ist es oft einfacher, Protokollierungsbibliotheken zu verwenden.

Warum ich Monolog

benutze

Während einige Bibliotheken wie Log4Php, Klogger und Monolog empfehlen, diese häufigen Probleme zu lösen, haben sie einige Einschränkungen, und das Monolog hat viele Vorteile gegenüber ihnen.

  • Es ist psr-3 konform
  • Enthält Handler für eine Vielzahl von Diensten, einschließlich Protokollly.
  • Unterstützung für Formatter, um Ihre Protokolle auszugeben.
  • Helper für die Entwicklung von Entwicklungen wie der BrowSerSolehandler zum Anmelden bei der Browserkonsole.

Überprüfen Sie die Dokumentation für weitere Informationen zum Paket. Die beliebtesten Frameworks enthalten Monolog außerhalb des Kontrollkästchens. Überprüfen Sie daher die vollständige Liste in der Dokumentation. Wenn Sie kein Monolog installiert haben, können Sie es einem Projekt mit Composer hinzufügen.

openlog('php', LOG\_CONS | LOG\_NDELAY | LOG\_PID, LOG\_USER | LOG\_PERROR); syslog(LOG\_ERR, 'Error!'); syslog(LOG\_INFO, 'Hello World!'); closelog();

Die Probleme der Protokollierung im Maßstab

Da die Protokollierung das Schreiben auf die Festplatte, das Durchführen von Backups und das Durchsuchen von Dateien erfordert, erstellen einige Unternehmen einen separaten Dienst, um den Job zu verarbeiten (normalerweise eine Reihe von Skripten oder Apps zu GREP -Dateien, die nach Informationen suchen, wenn eine Art von Fehler auftritt). Wenn sich Ihr Unternehmen oder Ihre Service skaliert, kann dies schnell zu einem Albtraum für Ihre Entwickler und Analysten werden. Eine andere, bessere Alternative ist ein Cloud -basierter Dienst für ihre Protokollspeicherung und -analyse, und dies hat viele Vorteile, da wir in diesem Artikel weiter diskutieren werden.

Was ist protokollell?

Es gibt mehrere Protokollverwaltungsdienste, die das Speichern und Analysieren Ihrer Protokolle erleichtern. Loggly ist das beliebteste und es gibt verschiedene Möglichkeiten, sich in PHP zu integrieren. Sobald Loggly Ihre Protokolle empfängt, können Sie Ihre Daten auf beeindruckende Weise suchen, gruppieren und visualisieren. Sie können es kostenlos versuchen. Sie zahlen nur, wenn Sie auf Ihrer Website einen beträchtlichen Verkehr haben. Beginnen wir zunäch

Verwenden Sie Loggly mit Monolog

Wenn Sie sich für die Monologpaketbibliothek für Ihren Protokollierungsprozess entschieden haben, ist es sehr einfach, sie in einen beliebigen Protokollverwaltungsdienst zu integrieren, einschließlich Loggly.

standardmäßig kommt es mit einem LogglyHandler für Loggly.

composer <span>require monolog/monolog</span>
Nachdem wir eine Monologinstanz erstellt haben, werden wir unseren Handler in die Liste der registrierten Handler weitergeben, und Sie müssen Ihr Token, wie bereits erwähnt, zur Verfügung stellen. Der Tag -Teil ist optional, aber es ist immer eine gute Idee, Ihre Protokolleinträge zu trennen, indem Sie sie entsprechend markieren. Jetzt sind wir bereit, uns mit dem Monolog anfängeln.

<span>$logger = new <span>\Monolog\Logger</span>('local_test_app'); $logger->pushHandler(new <span>\Monolog\Handler\LogglyHandler</span>('YOUR_TOKEN/tag/monolog'));</span>
Effektivere PHP Loggly mit Laravel

Da Laravel ein Monolog für den Protokollierungsprozess verwendet, können wir unseren Handler leicht daran binden.

<span>$logger->addInfo("Info test from monolog"); //$logger->addWarning("Warning test from monolog");</span>
Konfigurieren Sie legly auf Heroku

Wenn Sie Ihre Anwendung in die Produktion verschieben, möchten Sie sicherstellen, dass Ihre Protokollverfolgung ordnungsgemäß funktioniert. In diesem Abschnitt werden wir unsere Heroku -Anwendung angemessen anhängen. Heroku verwendet Protokollabläufe, um Ihre Protokolle an einen externen Protokollierungsdienst weiterzuleiten. Sie können die Dokumentation für weitere Informationen zum Installationsprozess überprüfen.

openlog('php', LOG\_CONS | LOG\_NDELAY | LOG\_PID, LOG\_USER | LOG\_PERROR); syslog(LOG\_ERR, 'Error!'); syslog(LOG\_INFO, 'Hello World!'); closelog();

Sie müssen das Token mit Ihrem tatsächlichen Token aktualisieren, das Sie auf der Seite Quell -Setup> Customer -Token finden können. Der Heroku_App_Name kann weggelassen werden, wenn Sie bereits in Ihrer Heroku -Instanz angemeldet sind. Andernfalls müssen Sie Ihren Heroku -Anwendungsnamen angeben.

Die Drain -URL endet mit Tag/Heroku. Dies hilft uns, unsere Protokolle mit dem definierten Tag zu filtern. Wir werden später mehr darüber sprechen.

Effektivere PHP

loggly kann leicht in jeden externen Dienst wie Heroku integriert werden. Überprüfen Sie die protokollierte Dokumentation, um einen Überblick über Protokollübertragungsmethoden und verfügbare Skripte oder Bibliotheken zu erhalten.

Analyse von Protokollen mit loggly

Jetzt, da wir besprochen haben, wie Sie Ihre Protokolle an protokolliert senden, können wir mit der Analyse und Arbeiten mit unseren Daten beginnen. Die Suchseite enthält eine Reihe von Tools zum Filtern, Analysieren und Visualisieren unserer Protokolle.

Effektivere PHP

Das Dashboard zeigt eine Zeitleiste Ihrer Ereignisse zusammen mit einer Liste von Protokollen unten. Die Spitze der Seite enthält ein Suchfeld und einen Datumsbereich, um Ereignisse zu filtern.

Filterprotokolle

Sie können die Sucheingabe verwenden, um Daten mit einem bestimmten Begriff wie "E -Mail" oder "event_*" zu filtern. Loggly sucht im Körper Ihrer Protokolleinträge und zeigt das Ergebnis unten auf der Seite an. Sie können auch Felder zum Suchen verwenden, z. B. "Tag: Monolog", um die zuvor vom Monolog gesendeten Ereignisse zu filtern. Das linke Menü wird als Dynamic Field Explorer bezeichnet und kann Ihnen helfen, die verfügbaren Feldfilter zu identifizieren.

Effektivere PHP Nehmen wir die folgenden Beispiele, um besser zu verstehen, wie man Protokolle analysiert.

interne Serverfehler

Ein interner Serverfehler wird geworfen, wenn Ihr Server eine gültige Anforderung vom Benutzer nicht bearbeiten konnte. In PHP können Sie in Ihren Apache -Protokollen Details zu diesem Fehler gefunden werden. Wenn Sie einen Fehlerhandler mit PHP registrieren, können Sie Ihre eigenen Protokolldateien gruppieren, damit Sie diese analysieren und Fehler gemäß der Protokollnachricht beheben können.

Sie können das Field Explorer -Widget auf der linken Seite der Seite verwenden, um die Protokolle mit dem Apache 5xx -Statuscode abzufiltern. Die Suche kann spezifisch sein wie "apache.status: 500" oder Sie können generischer wie "Apache.status: [500 bis 599]".

Effektivere PHP

Fatale Fehler

In PHP stoppt das Programm, wenn ein fataler Fehler geworfen wird, die Ausführung und protokolliert den Fehler in Ihrem System. Da fatale Fehler bei der Produktion nicht auftreten sollen, bietet Loggly eine einfache Möglichkeit, die Schwere der Fehler aus verschiedenen Quellen zu verfolgen. Der Begriff „syslog.appname: php“ zeigt nur PHP -Protokolle an ] ”. Sie können mehr über die Liste der verfügbaren Felder in der Dokumentation erfahren.

openlog('php', LOG\_CONS | LOG\_NDELAY | LOG\_PID, LOG\_USER | LOG\_PERROR); syslog(LOG\_ERR, 'Error!'); syslog(LOG\_INFO, 'Hello World!'); closelog();

Die meiste Zeit zeigen wir Ergebnisse als Liste an. Möglicherweise möchten Sie jedoch ein anderes Diagramm aus der Liste der Diagramme am Ende der Seite verwenden.

Effektivere PHP

Warnungen

Eine meiner Lieblingsfunktionen auf Loggly ist das Alarm -Tool. Sie können Loggly so konfigurieren, dass Benachrichtigungen an Ihre E -Mail oder einen anderen Dienst gesendet werden, wenn eine Aktion auf Ihrer Bewerbung stattfindet. Gehen wir den Prozess im Detail durch.

Zuerst müssen Sie eine neue Suche erstellen und speichern. Nehmen wir diese Suche zum Beispiel: „syslog.appname: php und php.level:“ Fatal ERROR ””

Dies zeigt uns die Liste der tödlichen PHP -Fehler in unserem System. Als nächstes müssen wir diese Suchkriterien speichern. Klicken Sie oben rechts auf der Dashboard -Seite auf den kleinen Stern. Wählen Sie das Element „Diese Suche speichern“ und nennen Sie die Suche.

Effektivere PHP Effektivere PHP

Jetzt können wir zur Liste der Warnungen wechseln und auf neu hinzufügen, um eine neue zu erstellen. Nachdem Sie Ihrem Alarm einen Namen und eine Beschreibung angegeben haben, können Sie eine gespeicherte Suche aus der Liste und einer Bedingung auswählen (Alarm, wenn die Anzahl innerhalb von 5 Minuten> = 1 ist). In meinem Beispiel werde ich eine E -Mail -Benachrichtigung senden. Wenn Sie jedoch einen Dienst haben, der den Fehler automatisch zur Überprüfung an Ihr Team weitergibt, können Sie ihn so konfigurieren, dass er an Ihren Endpunkt veröffentlichen wird. Sie können mehr über Warnungen über die Dokumentation lesen.

Effektivere PHP

Schlussfolgerung

loggly kann die Art und Weise ändern, wie Sie mit Ihren Protokollen umgehen, von der Regexp -Suche bis zur Archivierung. Der Service hat auch eine großartige UX, und die Dokumentation ist sehr einfach und deckt die meisten Möglichkeiten ab. Sie können mit einer kostenlosen Testversion beginnen, um alle Funktionen zu testen. Wenn Sie Fragen haben, posten Sie sie unten und ich werde mein Bestes tun, um sie zu beantworten.

Wie erleichtert man PHP -Protokollierung?

häufig gestellte Fragen (FAQs) zur PHP -Anmeldung mit protokollierter

Was macht Loggly zu einer guten Wahl für die PHP -Protokollierung? Es bietet eine zentralisierte Protokollverwaltung, sodass Sie auf alle Ihre Protokolle von einem Ort von einem Ort zugreifen und verwalten können. Dies ist besonders nützlich für großflächige Anwendungen, bei denen Protokolle aus mehreren Quellen generiert werden. Loggly unterstützt auch eine breite Palette von Protokollformaten, einschließlich PHP, wodurch es für verschiedene Anwendungen vielseitig ist. Es bietet Echtzeit-Protokollüberwachung und -analyse, die dazu beitragen können, Probleme umgehend zu identifizieren und zu lösen. Darüber hinaus bietet Loggly erweiterte Suchfunktionen und erleichtert das Suchen spezifischer Protokolleinträge. Merkmale. Während die meisten Bibliotheken grundlegende Protokollierungsfunktionen ermöglichen, geht Loglly noch einen Schritt weiter durch die Bereitstellung von zentralem Protokollmanagement, Echtzeitüberwachung und erweiterten Suchfunktionen. Es unterstützt auch eine breitere Palette von Protokollformaten. Es ist jedoch wichtig zu beachten, dass die Auswahl einer Protokollierungsbibliothek weitgehend von den spezifischen Anforderungen Ihrer Anwendung abhängt. Einige Entwickler bevorzugen möglicherweise einfachere Bibliotheken für kleinere Anwendungen, während andere möglicherweise die robusten Merkmale von Loggly für größere, komplexere Anwendungen benötigen. relativ einfach zu integrieren in PHP. Es bietet eine einfache API, mit der Sie Protokolle von Ihrer PHP -Anwendung an protokolliert senden können. Der Vorgang umfasst die Installation der protokollenden Bibliothek, die Konfiguration mit Ihrem protokanten Kunden -Token und die Verwendung der Funktionen der Bibliothek zum Senden von Protokollen. Detaillierte Anweisungen und Codebeispiele finden Sie in der protokollenden Dokumentation, wodurch der Integrationsprozess auch für Anfänger einfacher wird. Eine der wichtigsten Funktionen von Loggly sind die Funktionen der Echtzeit-Protokollüberwachung. Dies bedeutet, dass Sie Ihre PHP -Protokolle so ansehen und analysieren können, wie sie generiert werden, sodass Sie Probleme schnell identifizieren und beheben können. Loggly bietet auch Warnfunktionen, die Sie benachrichtigen können, wenn bestimmte Bedingungen in Ihren Protokollen erfüllt sind. Dies kann besonders nützlich sein, um kritische Probleme zu erkennen und auf reagierte zu reagieren. Sie können nach Protokolls suchen, die auf verschiedenen Parametern basieren, z. B. die Protokollebene, die Quelle des Protokolls oder andere im Protokoll enthaltene Daten. Loggly unterstützt auch erweiterte Suchabfragen und ermöglicht es Ihnen, mehrere Parameter und Operatoren für genauere Suchergebnisse zu kombinieren. Die Suchergebnisse werden in einem benutzerfreundlichen Format angezeigt, mit Optionen zum weiteren Filter und Sortieren der Protokolle.

Was sind einige Alternativen zu Anmeldungen zur PHP -Protokollierung? Dazu gehören Monolog, eine weit verbreitete PHP -Protokollierungsbibliothek mit Unterstützung verschiedener Protokollhandler. Apache log4Php, ein vielseitiges Protokollierungs -Framework für PHP; und Klogger, eine einfache dateibasierte Protokollierungsbibliothek für PHP. Jeder dieser Bibliotheken hat seine eigenen Stärken und Schwächen. Die beste Wahl hängt daher von Ihren spezifischen Anforderungen ab. Für große PHP-Anwendungen. Die zentralisierte Protokollverwaltungsfunktion erleichtert es einfacher, Protokolle aus mehreren Quellen zu verarbeiten, was in großen Anwendungen üblich ist. Darüber hinaus können seine Funktionen in Echtzeitüberwachung und erweiterten Suchfunktionen bei der Verwaltung des großen Volumens der von solchen Anwendungen generierten Protokolle helfen. Es ist jedoch wichtig zu beachten, dass Loggly ein kostenpflichtiger Service ist. Sie müssen daher den Kostenfaktor berücksichtigen, wenn Sie ein Protokollierungswerkzeug für groß angelegte Anwendungen auswählen. 🎜>

Ja, Sie können Loggly für die PHP -Fehlerprotokollierung verwenden. Tatsächlich ist die Fehlerprotokollierung eine der häufigsten Verwendungen von Loggly. Sie können Fehlerprotokolle von Ihrer PHP -Anwendung erfassen und analysieren und dabei helfen, Probleme zu identifizieren und zu lösen. Loggly unterstützt verschiedene Fehlerprotokollformate und Sie können die Protokollierungsstufe anpassen, um verschiedene Arten von Fehlern zu erfassen. Schützen Sie Ihre Protokolldaten. Dies beinhaltet die Verschlüsselung von Daten im Transport und in Ruhe, regelmäßige Sicherheitsaudits und die Einhaltung von Branchenstandards wie Soc 2. Wie bei jedem Drittanbieter-Service ist es jedoch wichtig, ihre Sicherheitspraktiken zu überprüfen und sicherzustellen, dass sie Ihre Anforderungen entsprechen.

Kann ich das Protokollformat in loggly anpassen? Dies bedeutet, dass Sie Ihre Protokolle so strukturieren können, dass Sie Ihren Anforderungen am besten entsprechen. Sie können verschiedene Daten in Ihre Protokolle aufnehmen, z. B. die Protokollebene, die Quelle des Protokolls, die Zeitstempel und alle anderen relevanten Informationen. Dies kann die Analyse der Protokolle erleichtern und nützliche Erkenntnisse extrahieren.

Das obige ist der detaillierte Inhalt vonEffektivere PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn