Übersicht über die benutzerdefinierte Protokollierung

Protokolle bieten Einblicke in Systemprozesse, z. B. Debugging-Informationen, die Ihnen dabei helfen zu verstehen, wann ein Fehler aufgetreten ist oder was zu dem Fehler geführt hat.

Dieses Thema konzentriert sich auf die dateibasierte Protokollierung. Commerce bietet jedoch auch die Flexibilität, Protokolle in der Datenbank zu speichern.

Adobe empfiehlt aus folgenden Gründen die Verwendung der zentralisierten Anwendungsprotokollierung:

  • Dies ermöglicht die Speicherung von Protokollen auf einem anderen Server als dem Anwendungsserver und verringert die I/O-Vorgänge der Festplatte, wodurch die Unterstützung des Anwendungsservers vereinfacht wird.

  • Dadurch wird die Verarbeitung von Protokolldaten effizienter, indem spezielle Tools wie Logstash, Logplex oder [fluentd] verwendet werden, ohne dass dies Auswirkungen auf einen Produktionsserver hat.

    note info
    INFO
    Adobe empfiehlt oder unterstützt keine bestimmte Protokollierungslösung.

PSR-3-Konformität

Der PSR-3-Standard definiert eine allgemeine PHP-Schnittstelle für die Protokollierung von Bibliotheken. Das Hauptziel von PSR-3 besteht darin, Bibliotheken zu ermöglichen, ein Psr\Log\LoggerInterface -Objekt zu empfangen und Protokolle auf einfache und universelle Weise darauf zu schreiben.

Dadurch kann die Implementierung problemlos ersetzt werden, ohne dass befürchtet wird, dass eine solche Ersetzung den Anwendungs-Code beschädigen könnte. Es garantiert auch, dass eine benutzerdefinierte Komponente auch dann funktioniert, wenn die Log-Implementierung in einer zukünftigen Version des Systems geändert wird.

Monolog

Commerce 2 entspricht dem PSR-3-Standard. Standardmäßig verwendet Commerce Monolog. Monolog wurde als Voreinstellung für Psr\Log\LoggerInterface in der Commerce-Anwendung di.xml implementiert.

Monolog ist eine beliebte PHP-Protokollierungslösung mit einer Vielzahl von Handlern, die es Ihnen ermöglichen, erweiterte Protokollierungsstrategien zu entwickeln. Im Folgenden finden Sie eine Zusammenfassung der Funktionsweise von Monolog.

Ein Monolog logger ist ein Kanal, der über einen eigenen Satz von Handlern verfügt. Monolog verfügt über viele Handler, darunter:

  • Log to files and syslog
  • Warnhinweise und E-Mails senden
  • Protokollspezifische Server und Netzwerkprotokollierung
  • Protokollierung in der Entwicklung (Integration unter anderem mit FireBug und Chrome Logger)
  • Bei der Datenbank anmelden

Jeder Handler kann die Eingabemeldung verarbeiten und die Weiterleitung stoppen oder das Steuerelement an den nächsten Handler in einer Kette übergeben.

Protokollmeldungen können auf viele verschiedene Arten verarbeitet werden. Sie können beispielsweise alle Debugging-Informationen in einer Datei auf der Festplatte speichern, die Nachrichten mit höheren Protokollebenen in eine Datenbank einfügen und schließlich Nachrichten mit der Protokollebene "kritisch"per E-Mail senden.

Andere Kanäle können einen anderen Satz von Handlern und Logik aufweisen.

recommendation-more-help
386822bd-e32c-40a8-81c2-ed90ad1e198c