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 Überwachungspanels im WordPress-Admin verwenden, um Fehler und Warnungen im Live-Betrieb zu verfolgen.

Wann Sie dieses Dokument verwenden sollten

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 zuständig sind. Es deckt alles ab, was zum Verstehen, Anzeigen und Pflegen des Plugin-Logs erforderlich ist.

Übersicht

Das Plugin schreibt alle Diagnoseausgaben in eine einzige flache Logdatei, die im WordPress-Uploads-Verzeichnis gespeichert wird. Das Log 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 Log 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 auf Fehlerstufe anzeigt
  • Ein Panel für Kürzliche Warnungen (Recent Warnings), das die neuesten Einträge auf Warnungsstufe anzeigt
  • Einen Log-Viewer zum Lesen und Löschen 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 Hintergrundtask-Aktionen.

Anforderungen

  • 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 hierhin geschrieben:

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

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

Das Log-Verzeichnis wird automatisch durch eine .htaccess-Datei (für Apache) und eine stille index.php-Datei vor dem öffentlichen 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 Herunterladen von Bildern, Erkennung veralteter Sperren (Locks), 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 eine zusätzliche Log-Zeile für jedes verarbeitete Fahrzeug und jede ausgeführte Bild-Aktion. Dies ist nützlich für die Diagnose von Importproblemen bei kleinen Katalogen, kann jedoch bei grossen Katalogen ein erhebliches Log-Volumen erzeugen.

Die ausführliche Protokollierung wird durch die Option Ausführliche Protokollierung gesteuert. Um das Log-Volumen bei grossen 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=...-Query-Parameter 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 Request-Kontext vorkommen.

Log-Rotation und Archivverwaltung

Der Logger überprüft regelmässig die Grösse 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

Anschliessend 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 mit [ERROR] aus den letzten 2'000 Zeilen der Logdatei (bis zu 50 Einträge).
  3. Das Panel Kürzliche Warnungen zeigt die neuesten Einträge mit [WARNING] aus demselben Scan-Fenster.
  4. Wenn beide Panels leer sind, wurden im jüngsten Log-Verlauf keine Fehler oder Warnungen gefunden.

Das rohe Log anzeigen

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

Logdatei löschen

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

Die Schaltfläche zum Löschen 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:

SektionWas angezeigt wird
Konnektivität & APIErreichbarkeit und Antwortcode des AutoScout24-API-Endpunkts, OAuth-Token-Status und -Ablauf, Erreichbarkeit des REST-API-Cron-Endpunkts, Erreichbarkeit der Market Hub-API
Hintergrund-TasksWP-Cron-Hook-Namen, Zeitplan, nächste Laufzeit, 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-Memory-Limit und maximale Ausführungszeit mit farbcodierten Status-Badges; Schreibbarkeit des Uploads-Verzeichnisses; Speicherplatz

Status-Badges verwenden ein Ampelsystem:

  • Grün (ok) — im empfohlenen Bereich
  • Gelb (warn) — akzeptabel, aber Aufmerksamkeit könnte erforderlich sein
  • Rot (bad) — ausserhalb 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 eine Zeile für jedes Fahrzeug und jede Bild-Aktion während des Imports
Logdateipfad{uploads}/as24ci-logs/adp-car-market-hub.logFestgelegt; basierend auf dem WordPress-Uploads-Verzeichnis
Max. Logdateigrösse vor Rotation10 MBHardcodiert in der Logger-Klasse
Aufbewahrung des Log-Archivs7 TageHardcodiert in der Logger-Klasse
Standardzeilen im Log-Viewer500In der Benutzeroberfläche anpassbar (100–2'000)

Betriebliche Hinweise

  • 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 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 hat jede Website im Netzwerk ihr eigenes Uploads-Verzeichnis und somit ihre eigene separate Logdatei.

Fehlerbehebung

SymptomWahrscheinliche UrsachePrüfung
Meldung "Logdatei nicht gefunden" im Logs-TabLog-Verzeichnis nicht beschreibbar oder es wurde noch kein Import ausgeführtBerechtigungen des Uploads-Verzeichnisses im Tab "System & Hilfe" prüfen; manuellen Import auslösen
Meldung "Logdatei konnte nicht gelöscht werden"Logdatei für den Webserver nicht beschreibbarDateisystemberechtigungen für das Verzeichnis as24ci-logs/ prüfen
Logs-Tab zeigt keine kürzlichen Fehler, aber Importe schlagen fehlAusführliche Protokollierung deaktiviert oder Fehler erreichen den Logger nichtAusführliche Protokollierung aktivieren; PHP-Error-Log auf fatale Fehler prüfen
Logdatei wird sehr grossAusführliche Protokollierung bei einem grossen Katalog aktiviertAusführliche Protokollierung in den Plugin-Einstellungen deaktivieren
.htaccess-Schutz funktioniert auf nginx nicht.htaccess ist nur für ApacheEntsprechende nginx-Regeln hinzufügen, um den direkten Zugriff auf das Log-Verzeichnis zu blockieren
Archivierte Logdateien sammeln sich über mehr als 7 Tage anLog-Rotation läuft nicht (Website ist inaktiv)Manuellen Import auslösen, um eine Rotationsprüfung durchzuführen

Verwandte Dokumente