Wonolog: Deine WordPress-Logging-Library

Wonolog Logo

Willst du wissen, was auf deinen Websites passiert? Hast du jemals versucht, Logging in WordPress umzusetzen? Wonolog ist deine Rettung!

Soeben haben wir Wonolog veröffentlicht! Wonolog ist ein Monolog-basiertes Logging-Package für deine WordPress-Websites. Es ist für jeden gemacht, der wissen will, was auf seinen Websites vorgeht. Folglich kann es auch deine WordPress-Logging-Library sein. 🙂

In immer mehr Projekten haben wir festgestellt, dass wir unterschiedliche Logging-Strategien anwenden müssen. Da im WordPress-Universum jedoch nichts Gebrauchsfertiges vorhanden war, begannen wir Wonolog als eigenständiges Composer-Package zu entwickeln, was die Lücke füllt. Seit einigen Monaten nutzen wir Wonolog bereits (auch in Produktion). Jetzt möchten wir es mit der Welt teilen.

Was ist Logging?

Um all das zuvor Geschriebene besser zu verstehen, hier eine kurze Einführung in die einzelnen Punkte, Schritt für Schritt. Als Erstes: Logging.

Das Hauptkonzept hinter Logging ist die automatische Erstellung von Logs, die mit situationsbezogenen Daten gefüllt sind. Wie genau diese Logs erstellt werden, kann auf sehr vielen verschiedenen Wegen erfolgen. Zum Beispiel durch das Schreiben auf reale Dateien, durch das Senden von E-Mails, durch die Speicherung von Datensätzen in verschiedenen Datenbanken, oder durch das Ansprechen von einigen externen APIs, um nur einige wenige Möglichkeiten zu nennen.

Außerdem kann die Natur der Daten, die du loggen möchtest, genau so sein wie dein konkreter Anwendungsfall sie benötigt. Falls ein externer Dienst nicht reagiert, möchtest du vielleicht genau darüber informiert werden. Für den Fall, dass einige schwere Fehler in einem deiner Systeme aufgetreten sind, willst du möglicherweise weitere Informationen über das konkrete Ereignis erhalten.

Was ist Monolog?

Wenn du dich mit Logging in der PHP-Welt im Allgemeinen beschäftigst, sind die Chancen ziemlich groß, dass du am Ende Monolog nutzen wirst.

Monolog ist eine vollständig ausgereifte Logging-Bibliothek für PHP, basiert auf dem PSR-3-Standard, und ist mit allem Schnickschnack ausgestattet, den du dir vorstellen kannst. Falls Monolog irgendetwas nicht hat, kannst du es leicht erweitern. Das Ergebnis sind mehr als 57 Millionen Downloads von Monolog (Stand: 1. Juni 2017).

Willst du dir selbst eine E-Mail in einer beliebigen Situation schicken? Kein Problem für Monolog. Brauchst du Hinweise über das Eintreten gewisser Ereignisse in einem bestimmten Slack-Channel? Monolog ist deine Lösung. Oder bevorzugst du die altgediente Methode und loggst Daten in einer Datei? Stell dir vor: Monolog kann auch das. 😉

Wenn du mehr Informationen willst, schaue dir Monologs Dokumentation an.

Folglich kannst du sicherlich verstehen, warum Monolog als Basis für WordPress-Logging die offensichtliche und selbstverständliche Wahl war.

Also, was ist Wonolog und wie hilft es?

Jetzt, wo wir ein bisschen über Logging im Allgemeinen wissen, und auch erfahren haben, dass Monolog die Waffe der Wahl bezogen auf PHP-basiertes Logging ist, ist das einzige, was noch fehlt, die Verbindung zu WordPress. Und das ist genau das, was Wonolog ist: Eine Brücke zwischen WordPress (Daten) und Monolog. Das bedeutet, dass Wonolog nahezu alles mitbringt, um (anspruchsvolles) WordPress-Logging zu machen.

Wonolog kommt mit verschiedenen gebrauchsfertigen Listenern, wobei jeder auf einen individuellen (abstrakten oder konkreten) Anwendungsfall im Leben eines WordPress-Requests abzielt. Sagen wir, du möchtest jeden gescheiterten Anmeldeversucht loggen. Mit Wonolog ist das ein Kinderspiel. Möchtest du alle WordPress-Cron-Anfragen verfolgen? Wonolog ist an deiner Seite, um dir dabei zu helfen. Du kannst sogar die WordPress-spezifische exit-Funktion wp_die() abfangen und jede (direkte oder indirekte) Nutzung loggen!

Des Weiteren loggt Wonolog automatisch PHP-Core-Hinweise, -Warnungen und -Fehler, nicht abgefangene Ausnahmefehler (ebenso wie PHP 7+ \Throwable) und WordPress-Core-Fehler, wie zum Beispiel Datenbank-Fehler, HTTP-API-Fehler, wp_mail()-Fehler und 404-Fehler. Natürlich kannst du all das auch individuell anpassen.

Einfach gesagt passt Wonolog darauf auf, dass deine WordPress-Daten so vorbereitet werden, wie Monolog sie braucht, um sie zu verstehen und ordnungsgemäß zu verarbeiten. Außerdem bietet das Package sowohl Action-, als auch Filter-Hooks, und du kannst es über Umgebungsvariablen konfigurieren, was Wonolog sehr flexibel und die ganze Macht von Monolog verfügbar macht.

Wie mache ich WordPress-Logging?

Zunächst: Wonolog benötigt PHP 5.6 oder höher, und läuft reibungslos mit WordPress 4.6 oder höher.

Installation über Composer:

$ composer require inpsyde/wonolog

Der empfohlene Weg, Wonolog zu nutzen, ist auf Website-Level.

Wonolog kommt mit einer superleichten Bootstrap-Routine und einigen gebrauchsfertigen Konfigurationen, die es dir ermöglichen, ein einwandfrei arbeitendes und effektives Logging-System ohne großen Aufwand zu haben. Falls du benutzerdefinierte Konfigurationen hast oder haben möchtest, musst du dies in Form eines MU-Plugins machen.

Im einfachsten Szenario musst du nur sichergehen, dass du den Composer-generierten Autoloader verfügbar machst, bevor WordPress die MU-Plugins lädt, und du musst ein MU-Plugin erstellen, das den Funktionsaufruf Inpsyde\Wonolog\bootstrap(); enthält. Und nochmal: jegliche Konfiguration gehört in diese Datei.

Wenn du mehr Informationen haben willst, schau dir einfach Wonologs Dokumentation an. Außerdem kannst du dich auf weitere Beiträge freuen, in denen wir dir zeigen, wie genau wir Wonolog in verschiedenen Projekten einsetzen.

Warum machen wir Wonolog Open Source?

So wie andere WordPress.com-VIP-Service-Partner, leben auch wir den Gedanken von Open Source. Darum erwarten wir nichts anderes als ein positives Ergebnis, wenn wir Wonolog frei verfügbar machen.

Wir haben schon immer die deutsche WordPress-Community in jeder Art und Weise unterstützt, und ebenfalls zur Entwicklung von WordPress selbst beigetragen. Jetzt war es an der Zeit, dem WordPress-Universum wieder etwas zurückzugeben und sowohl Entwicklern, als auch Agenturen die Möglichkeit zu geben, Monologs unübertroffene Funktionalitäten nutzen zu können.In einem WordPress-Kontext und auf komfortable Weise. Und wer würde nicht gerne hochentwickeltes WordPress-Logging zur Verfügung haben, nicht wahr?

Wie immer freuen wir uns sehr über jede Art von Feedback über GitHub, seien es Fragen, Feature-Anfragen oder angebotene Pull-Requests.


[row][column size=”33″]Code[/column][column size=”33″]Dokumentation[/column][column size=”33″]Feedback[/column][/row]


Frohes WordPress-Logging! 🙂