Dokumentation · Betrieb und Wartung

Protokollierung und Überwachung

Dieses Dokument erklärt das Protokollierungssystem des Plugins, wie Sie Logdateien lesen und verwalten und wie Sie die integrierten Überwachungs-Panels im WordPress-Adminbereich nutzen, um Fehler und Warnungen im Produktivbetrieb zu verfolgen.

Wann dieses Dokument zu verwenden ist


Lesen Sie dieses Dokument, wenn Sie als Website-Administrator für die Überwachung einer Live-Website, die Diagnose unerwarteten Verhaltens oder die Vorbereitung von Informationen für eine Support-Anfrage verantwortlich sind. Es deckt alles ab, was zum Verständnis, zur Anzeige und zur Pflege des Plugin-Protokolls erforderlich ist.

Übersicht

Das Plugin schreibt alle Diagnoseausgaben in eine einzige flache Logdatei, die im WordPress-Uploads-Verzeichnis gespeichert wird. Das Protokoll erfasst Importaktivitäten, API-Antworten, Ergebnisse von Bild-Downloads, Cron-Events sowie alle Fehler oder Warnungen, die während des Plugin-Betriebs auftreten.

Der Zugriff auf das Protokoll erfolgt über die Admin-Seite ADP Car Market Hub → Logs, die Folgendes bietet:

  • Ein Panel für Kürzliche Fehler (Recent Errors), das die neuesten Einträge mit Fehler-Status anzeigt
  • Ein Panel für Kürzliche Warnungen (Recent Warnings), das die neuesten Einträge mit Warnungs-Status anzeigt
  • Einen Log-Viewer zum Lesen und Leeren der rohen Logdatei

Der Tab System & Hilfe (ADP Car Market Hub → System & Help) bietet eine ergänzende Überwachung auf Systemebene: API-Verbindungsstatus, Cron-Task-Zeitpläne, PHP-Umgebungsprüfungen und Hintergrund-Task-Aktionen.

Systemvoraussetzungen

  • Administrator-Konto mit der Berechtigung manage_as24_imports.
  • Das WordPress-Uploads-Verzeichnis muss für den Webserver-Prozess beschreibbar sein, damit die Logdatei erstellt und beschrieben werden kann.

Speicherort und Format der Logdatei

Die Logdatei wird in folgendes Verzeichnis geschrieben:

{wp-uploads}/as24ci-logs/adp-car-market-hub.log

Wobei {wp-uploads} das Basis-Uploads-Verzeichnis von WordPress ist, in der Regel wp-content/uploads/.

Das Log-Verzeichnis wird automatisch durch eine .htaccess-Datei (für Apache) und eine stille index.php-Datei vor öffentlichem Webzugriff geschützt. Beide werden erstellt, wenn das Verzeichnis zum ersten Mal vom Plugin eingerichtet wird.

Jede Log-Zeile folgt dem Format:

[YYYY-MM-DD HH:MM:SS UTC] [LEVEL] Message text

Zum Beispiel:

[2025-04-30 06:15:03 UTC] [INFO] Import runner (wp-cron): started.
[2025-04-30 06:15:47 UTC] [INFO] Import runner (wp-cron) finished: inserted=3 updated=12 skipped=85 errors=0
[2025-04-30 06:16:02 UTC] [INFO] Image queue worker: processed=30 errors=0 remaining=45

Log-Stufen

StufeVerwendung
INFONormaler Betrieb: Import gestartet/beendet, Fortschritt der Bildwarteschlange, Konfigurationsereignisse
WARNINGEingeschränkter Betrieb: Fehler beim Bild-Download, Erkennung veralteter Sperren, WebP-Konvertierungs-Fallback
ERRORFehler, die Aufmerksamkeit erfordern: API-Fehler, fehlgeschlagene Medien-Sideloads, Fehler beim Speichern von Beiträgen
DEBUGAusführliche Diagnosemeldungen (werden nur unter bestimmten Bedingungen protokolliert, z. B. bei Verwendung der Token-Authentifizierung über Query-Parameter)

Ausführliche Protokollierung

Wenn die ausführliche Protokollierung (Verbose logging) aktiviert ist (Standard), schreibt der Importer für jedes verarbeitete Fahrzeug und jede ausgeführte Bildaktion eine zusätzliche Log-Zeile. Dies ist nützlich für die Diagnose von Importproblemen bei kleinen Katalogen, kann jedoch bei großen Katalogen ein erhebliches Log-Volumen erzeugen.

Die ausführliche Protokollierung wird über die Option Verbose logging gesteuert. Um das Log-Volumen bei großen Katalogen zu reduzieren, deaktivieren Sie die ausführliche Protokollierung in den Plugin-Einstellungen.

Wenn die ausführliche Protokollierung aktiviert ist, sehen Sie Zeilen wie:

[INFO] Import vehicle abc123 (seller 456) begin.
[INFO] Import vehicle abc123 result=updated.

Sicherheitsmaskierung in Logs

Der Logger maskiert sensible Werte automatisch, bevor sie auf die Festplatte geschrieben werden:

  • token=...-Abfrageparameter werden durch token=*** ersetzt
  • client_secret=...-Parameter werden durch client_secret=*** ersetzt
  • Authorization: Bearer ...-Header-Werte werden durch Bearer *** ersetzt

Dies bedeutet, dass die Logdatei keine API-Zugangsdaten oder Cron-Tokens enthält, selbst wenn diese in einer URL oder einem Anforderungskontext vorkommen.

Log-Rotation und Archivverwaltung

Der Logger überprüft regelmäßig die Größe der Logdatei (beim ersten Aufruf und danach alle 100 Log-Aufrufe). Wenn die Datei 10 MB überschreitet, wird die aktuelle Logdatei in ein zeitgestempeltes Archiv im selben Verzeichnis verschoben, wobei folgendes Format verwendet wird:

adp-car-market-hub-YYYYMMDD-HHMMSS.log

Anschließend wird automatisch eine neue, leere aktive Logdatei gestartet.

Archivdateien, die älter als 7 Tage sind, werden bei jeder Rotationsprüfung automatisch gelöscht.

Wenn Sie den Log-Verlauf länger als 7 Tage aufbewahren müssen, kopieren Sie die archivierten Logdateien an einen separaten Speicherort, bevor sie gelöscht werden.

Verwendung der Logs-Admin-Seite

Kürzliche Fehler und Warnungen anzeigen

  1. Öffnen Sie ADP Car Market Hub → Logs.
  2. Das Panel Kürzliche Fehler zeigt die neuesten Einträge, die [ERROR] enthalten, aus den letzten 2.000 Zeilen der Logdatei (bis zu 50 Einträge).
  3. Das Panel Kürzliche Warnungen zeigt die neuesten Einträge, die [WARNING] enthalten, aus demselben Scan-Fenster.
  4. Wenn beide Panels leer sind, wurden im aktuellen Log-Verlauf keine Fehler oder Warnungen gefunden.

Rohes Log anzeigen

  1. Scrollen Sie auf derselben Seite nach unten zur Karte Log-Viewer.
  2. Der Viewer zeigt standardmäßig die letzten 500 Zeilen an. Ändern Sie das Feld Zeilen und klicken Sie auf Neu laden, um eine andere Anzahl (100 bis 2.000 Zeilen) anzuzeigen.
  3. Durch Klicken an eine beliebige Stelle im Text des Log-Viewers wird der gesamte sichtbare Inhalt ausgewählt, was das Kopieren des Logs für externe Analysen erleichtert.

Logdatei leeren

  1. Klicken Sie in der Symbolleiste des Log-Viewers auf Logdatei leeren.
  2. Bestätigen Sie die Abfrage im Dialogfenster. Die Datei wird geleert und ein einzelner Bestätigungseintrag wird geschrieben.
  3. Das Leeren des Logs ist eine unumkehrbare Aktion und kann nicht rückgängig gemacht werden. Erstellen Sie vorher eine Kopie, wenn Sie den Inhalt aufbewahren müssen.

Die Schaltfläche zum Leeren wird nur angezeigt, wenn die Logdatei existiert. Wenn die Datei nicht gefunden wird oder nicht beschreibbar ist, wird ein Hinweis angezeigt.

Überwachung im Tab „System & Hilfe“

Die Seite ADP Car Market Hub → System & Hilfe bietet eine Überwachung der Umgebung und der Konnektivität:

BereichWas angezeigt wird
Konnektivität & APIErreichbarkeit und Antwortcode der AutoScout24-API-Endpunkte, OAuth-Token-Status und -Ablauf, Erreichbarkeit des REST-API-Cron-Endpunkts, Erreichbarkeit der Market Hub-API
Hintergrund-TasksWP-Cron-Hook-Namen, Zeitplan, nächste Ausführungszeit, Sperrstatus (Lock-Status) und Schaltflächen zum manuellen Auslösen des Import-Jobs, des Bildwarteschlangen-Workers, der Analytics-Bereinigung und der Preisanalyse
Plugin-AnforderungenPHP-Version, PHP-Erweiterungen (mbstring, JSON, OpenSSL, cURL, GD/Imagick, ZipArchive), WordPress-Version
UmgebungPHP-Speicherlimit (Memory Limit) und maximale Ausführungszeit (Max Execution Time) mit farbcodierten Status-Badges; Beschreibbarkeit des Uploads-Verzeichnisses; Speicherplatz

Status-Badges verwenden ein Ampelsystem:

  • Grün (ok) — im empfohlenen Bereich
  • Gelb (Warnung) — akzeptabel, aber Aufmerksamkeit könnte erforderlich sein
  • Rot (schlecht) — außerhalb des empfohlenen Bereichs; führt wahrscheinlich zu Problemen

Diagnose-Export

Der Tab „System & Hilfe“ enthält eine Schaltfläche Diagnose herunterladen, die eine ZIP-Datei (oder JSON, falls ZipArchive nicht verfügbar ist) mit Systeminformationen exportiert, die für Support-Anfragen nützlich sind. Der Export enthält keine Zugangsdaten oder privaten Daten.

Konfigurationsreferenz

OptionStandardZweck
Ausführliche ProtokollierungEin (1)Protokolliert während des Imports eine Zeile für jedes Fahrzeug und jede Bildaktion
Logdateipfad{uploads}/as24ci-logs/adp-car-market-hub.logFestgelegt; basierend auf dem WordPress-Uploads-Verzeichnis
Max. Logdateigröße vor Rotation10 MBFest im Code der Logger-Klasse hinterlegt
Aufbewahrung der Log-Archive7 TageFest im Code der Logger-Klasse hinterlegt
Standardzeilen im Log-Viewer500In der Benutzeroberfläche anpassbar (100–2.000)

Betriebshinweise

  • Wenn das Uploads-Verzeichnis nicht beschreibbar ist, kann die Logdatei nicht erstellt werden und alle Log-Schreibvorgänge werden stillschweigend verworfen. Der Tab „System & Hilfe“ zeigt in diesem Fall eine Warnung für den Status des Uploads-Verzeichnisses an.
  • Die Log-Rotation wird durch Log-Schreibvorgänge ausgelöst, nicht durch einen separaten geplanten Task. Wenn keine Protokollierung stattfindet (z. B. wenn die Website inaktiv ist), wird die Rotation erst beim nächsten Log-Schreibvorgang ausgeführt.
  • Das Log zeichnet keine Frontend-Seitenaufrufe oder Analytics-Ereignisse auf. Diese werden in der {prefix}as24ci_analytics-Datenbanktabelle gespeichert. Siehe den Analytics-Tab für diese Daten.
  • Bei WordPress-Multisite-Installationen verfügt jede Website im Netzwerk über ein eigenes Uploads-Verzeichnis und somit über eine eigene separate Logdatei.

Fehlerbehebung

SymptomWahrscheinliche UrsachePrüfung
Meldung „Logdatei nicht gefunden“ im Logs-TabLog-Verzeichnis nicht beschreibbar oder es wurde noch kein Import ausgeführtÜberprüfen Sie die Berechtigungen des Uploads-Verzeichnisses im Tab „System & Hilfe“; lösen Sie einen manuellen Import aus
Meldung „Logdatei konnte nicht geleert werden“Logdatei für den Webserver nicht beschreibbarÜberprüfen Sie die Dateisystemberechtigungen für das Verzeichnis as24ci-logs/
Logs-Tab zeigt keine kürzlichen Fehler, aber Importe schlagen fehlAusführliche Protokollierung deaktiviert oder Fehler erreichen den Logger nichtAktivieren Sie die ausführliche Protokollierung; überprüfen Sie das PHP-Error-Log auf fatale Fehler
Logdatei wird sehr großAusführliche Protokollierung bei einem großen Katalog aktiviertDeaktivieren Sie die ausführliche Protokollierung in den Plugin-Einstellungen
.htaccess-Schutz funktioniert auf Nginx nicht.htaccess ist nur für ApacheFügen Sie entsprechende Nginx-Regeln hinzu, um den direkten Zugriff auf das Log-Verzeichnis zu blockieren
Archivierte Logdateien sammeln sich über mehr als 7 Tage anLog-Rotation wird nicht ausgeführt (Website ist inaktiv)Lösen Sie einen manuellen Import aus, um eine Rotationsprüfung durchzuführen

Verwandte Dokumente