Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Logs, der Log-Viewer und Anfrage-Logs

Die Log-Dateien, die ein PHP-Entwickler liest und schreibt - error.log, warning.log, deprecated.log, 404.log, security.log und eigene über eZLog::write() - der Log-Viewer unter Setup > Logs und auf der Kommandozeile mit…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/php-developers/logs-log-viewer-and-request-logs.md

On this page

This page is a translation. Read the English original

Logs, der Log-Viewer und Anfrage-Logs

Diese Seite richtet sich an PHP-Entwickler, die Log-Zeilen schreiben oder suchen, was schiefgegangen ist. Exponential schreibt seine Logs unter var/log/ (oder in das Log-Verzeichnis der Site) und zeigt sie unter Setup > Logs und auf der Kommandozeile an. Seit 6.0.15 haben Antworten „nicht gefunden“ und verdächtige Anfragen eigene Logs, sodass error.log die echten Fehler behält.

Inhalt

  1. Die Logs
  2. Ein eigenes Log schreiben
  3. Der Log-Viewer
  4. Der Log-Viewer auf der Kommandozeile
  5. Fehlerreferenzen
  6. Anfrage-Logs: 404 und Sicherheit
  7. Rotation
  8. Regeln für Log-Zeilen

Die Logs

DateiEnthält
error.logechte Fehler: ein Datenbankfehler, ein Template, das nicht kompiliert, ein PHP-Fehler, eZDebug::writeError()
warning.logWarnungen, einschließlich abgelehnter Formular-Tokens, wenn die Stufe protokolliert wird
deprecated.logPHP-Deprecations, jede unterschiedliche Meldung einmal pro Anfrage (DeprecatedLog=enabled)
404.logAntworten 404 und 410, mit dem Grund, den der Kernel gefunden hat
notice.logAntworten 401 und 403 sowie Hinweise, wenn sie protokolliert werden
security.logAnfragen, die der Anfrage-Klassifizierer als Sondierung, Traversal, Injection, Angriffswerkzeug oder Burst einstuft
debugbar.logSchreibvorgänge aus der Debug-Leiste (in var/<site>/log/)
Ihre eigenen *.logwas Ihr Code mit eZLog::write() schreibt

Ein eigenes Log schreiben

eZLog::write( 'archived object ' . (int)$objectID . ' version ' . (int)$version, 'acmereport.log' );

eZLog::write( $message, $logName = 'common.log', $dir = 'var/log' ) hängt eine Zeile mit der Uhrzeit an. Ein Befehl kann $this->log( $message ) verwenden, das standardmäßig var/log/<script name>.log schreibt (Einen Konsolenbefehl schreiben).

Der Log-Viewer

Setup > Logs listet jedes Log des Kernels, der Erweiterungen und des Webservers auf, mit Suche, einem Navigator, Permalinks zu Zeilen, Live-Verfolgung, einer Fehlerübersicht wiederholter Meldungen, Log-Zustand, Archiven und Downloads. E-Mail-Adressen, IP-Adressen und Geheimnisse sind standardmäßig maskiert; ein Benutzer mit setup/unmasklogs kann die Maskierung für sich selbst ausschalten, und der Audit-Trail hält das fest (Log-Viewer).

Der Log-Viewer auf der Kommandozeile

bin/php/explogs.php ist derselbe Viewer, nur lesend:

php bin/php/explogs.php --list                                        # the log files: group, size, time, lines a minute
php bin/php/explogs.php --tail=var/log/error.log --lines=50           # the last 50 entries
php bin/php/explogs.php --tail=var/log/error.log --follow             # follow it
php bin/php/explogs.php --search=timeout --file=var/log/error.log --level=error,warning
php bin/php/explogs.php --reference=<reference>                       # where an error page's reference is
php bin/php/explogs.php --related=var/log/error.log:<offset>          # the lines of the same request

Er beendet mit 0, wenn etwas gefunden wurde, mit 1, wenn nichts gefunden wurde, mit 2 bei einem Fehler, sodass Skripte ihn verwenden können.

Fehlerreferenzen

Eine Fehlerseite zeigt eine Referenz. Dieselbe Referenz steht in der Log-Zeile, mit der Anfrage, zu der sie gehört, sodass ein Bildschirmfoto eines Benutzers direkt zur Meldung führt: --reference=<reference> auf der Kommandozeile oder die Suche des Log-Viewers (Einen Fehler anhand seiner Referenz finden).

Anfrage-Logs: 404 und Sicherheit

expRequestLog klassifiziert jede Anfrage einmal, gleich auf welche Weise sie endet (normales Ende, eZExecution::cleanExit(), das Fehlermodul, ein fataler Fehler), und schreibt eine Zeile pro Anfrage in ein Log:

  • eine fehlende Seite geht nach 404.log mit dem Grund (ein undefiniertes Modul oder eine undefinierte View, ein Knoten, der nicht da ist, eine Anfrageregel);
  • eine Sondierung oder ein Angriff geht nach security.log mit seiner Kategorie und Regel, unabhängig vom Status;
  • ein echter Fehler bleibt in error.log.

Nichts wird blockiert; der Klassifizierer klassifiziert nur. Client-Adressen werden maskiert, Werte in Query-Strings durch *** ersetzt. Listener können auf ein Urteil reagieren (Anfrage-Logs). Für Ihren Code bedeutet das: Eine View, die mit $Module->handleError( eZError::KERNEL_NOT_FOUND, 'kernel' ) „nicht gefunden“ antwortet, landet in 404.log, nicht in error.log, also protokollieren Sie sie nicht noch einmal als Fehler.

Rotation

Wenn ein Log über site.ini [FileSettings] LogFileMaxSize (2 MB) hinauswächst, rotiert es beim nächsten Schreiben und behält LogFileRotateCount (3) Archive. eZDebug und eZLog verwenden denselben Rotator, sodass auch Ihr eigenes Log rotiert, und zwar sicher, selbst wenn Velocity und PHP-FPM dieselbe Datei schreiben (Log-Rotation):

php bin/php/explogs.php --archives
php bin/php/explogs.php --apply --rotate=error
php bin/php/explogs.php --prune --dry-run

Regeln für Log-Zeilen

  • Ein Ereignis, eine Zeile. Entfernen Sie Zeilenumbrüche aus Werten, damit ein Eintrag keinen anderen vortäuschen kann.
  • Nennen Sie die Quelle. __METHOD__ als Label von eZDebug; der Name Ihrer Erweiterung in Ihrem eigenen Log.
  • IDs, keine Daten. Protokollieren Sie IDs und Zähler, keine Inhalte, E-Mail-Adressen oder Namen.
  • Niemals Geheimnisse. Keine Passwörter, Tokens, Schlüssel, Sitzungs-IDs.
  • Stufen bedeuten etwas. writeError() für Fehler, die jemand beheben muss, writeWarning() für Probleme, die der Code behandelt hat, Hinweise für Informationen.

Verwandte Seiten

Werden Sie Exponential-Partner

Partner teilen ihre Informationen, stellen Mittel bereit, geben Beiträge zurück und entwickeln die Produkte mit uns, und so wächst Exponential. Eine Partner-Website und ein Dashboard sind für Mitte 2027 geplant: Werden Sie noch heute Partner, damit wir schneller wachsen und neue Funktionen früher liefern.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x