Documentatie · Beheer en onderhoud

Logging en monitoring

Dit document legt uit hoe het loggingsysteem van de plugin werkt, hoe u logbestanden kunt lezen en beheren, en hoe u de ingebouwde monitoringpanelen in de WordPress-beheeromgeving gebruikt om fouten en waarschuwingen in productie op te sporen.

Wanneer u dit document moet gebruiken

Lees dit document als u een sitebeheerder bent die verantwoordelijk is voor het monitoren van een live site, het diagnosticeren van onverwacht gedrag of het voorbereiden van informatie voor een ondersteuningsverzoek. Het behandelt alles wat nodig is om het plugin-logboek te begrijpen, te bekijken en te onderhouden.

Overzicht

De plugin schrijft alle diagnostische uitvoer naar één plat logbestand dat is opgeslagen in de uploads-map van WordPress. Het logboek registreert importactiviteiten, API-reacties, resultaten van het downloaden van afbeeldingen, cron-gebeurtenissen en eventuele fouten of waarschuwingen die optreden tijdens de werking van de plugin.

Toegang tot het logboek wordt geboden via de beheerpagina ADP Car Market Hub → Logs, die het volgende biedt:

  • Een paneel Recente fouten met de nieuwste vermeldingen op foutniveau
  • Een paneel Recente waarschuwingen met de nieuwste vermeldingen op waarschuwingsniveau
  • Een Log Viewer voor het lezen en wissen van het onbewerkte logbestand

Het tabblad Systeem & Hulp (ADP Car Market Hub → System & Help) biedt aanvullende monitoring op systeemniveau: API-connectiviteitsstatus, cron-taakschema's, PHP-omgevingscontroles en achtergrondtaakacties.

Systeemvereisten

  • Beheerdersaccount met de manage_as24_imports-rol/rechten.
  • De uploads-map van WordPress moet beschrijfbaar zijn door het webserverproces om het logbestand te kunnen maken en beschrijven.

Locatie en indeling van het logbestand

Het logbestand wordt geschreven naar:

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

Warbij {wp-uploads} de basismap voor uploads van WordPress is, meestal wp-content/uploads/.

De logmap wordt automatisch beschermd tegen openbare webtoegang door een .htaccess-bestand (voor Apache) en een stil index.php-bestand. Beide worden aangemaakt wanneer de map voor het eerst door de plugin wordt ingesteld.

Elke logregel volgt de indeling:

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

Bijvoorbeeld:

[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

Logniveaus

NiveauWanneer gebruikt
INFONormale werking: import gestart/voltooid, voortgang van de afbeeldingswachtrij, configuratiegebeurtenissen
WARNINGVerminderde werking: mislukte downloads van afbeeldingen, detectie van verouderde vergrendelingen (locks), terugval naar WebP-conversie
ERRORFouten die aandacht vereisen: API-fouten, mislukte media-sideloads, fouten bij het opslaan van berichten
DEBUGUitgebreide diagnostische berichten (worden alleen geregistreerd onder specifieke omstandigheden, zoals bij het gebruik van queryparameter token-authenticatie)

Uitgebreide logging (Verbose logging)

Wanneer uitgebreide logging is ingeschakeld (de standaardinstelling), schrijft de importeur een extra logregel voor elk verwerkt voertuig en elke uitgevoerde afbeeldingsactie. Dit is handig voor het diagnosticeren van importproblemen bij kleine catalogi, maar kan bij grote catalogi een aanzienlijk logvolume genereren.

Uitgebreide logging wordt beheerd door de optie Verbose logging. Om het logvolume bij grote catalogi te beperken, schakelt u uitgebreide logging uit in de plugin-instellingen.

Wanneer uitgebreide logging is ingeschakeld, ziet u regels zoals:

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

Beveiligingsmaskering in logs

De logger maskeert automatisch gevoelige waarden voordat ze naar de schijf worden geschreven:

  • Queryparameters voor token=... worden vervangen door token=***
  • Parameters voor client_secret=... worden vervangen door client_secret=***
  • Headerwaarden voor Authorization: Bearer ... worden vervangen door Bearer ***

Dit betekent dat het logbestand geen API-inloggegevens of cron-tokens bevat, zelfs niet als ze in een URL of verzoekcontext voorkomen.

Logrotatie en archiefbeheer

De logger controleert periodiek de grootte van het logbestand (bij de eerste aanroep en daarna om de 100 log-aanroepen). Wanneer het bestand groter is dan 10 MB, wordt het huidige logbestand verplaatst naar een gearchiveerd bestand met tijdstempel in dezelfde map, met de indeling:

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

Er wordt dan automatisch een nieuw, leeg actief logbestand gestart.

Archiefbestanden die ouder zijn dan 7 dagen worden automatisch verwijderd bij elke rotatiecontrole.

Als u de loggeschiedenis langer dan 7 dagen wilt bewaren, kopieer de gearchiveerde logbestanden dan naar een aparte opslaglocatie voordat ze worden opgeschoond.

De Logs-beheerpagina gebruiken

Recente fouten en waarschuwingen bekijken

  1. Open ADP Car Market Hub → Logs.
  2. Het paneel Recente fouten toont de meest recente vermeldingen die [ERROR] bevatten uit de laatste 2.000 regels van het logbestand (maximaal 50 vermeldingen).
  3. Het paneel Recente waarschuwingen toont de meest recente vermeldingen die [WARNING] bevatten uit hetzelfde scanvenster.
  4. Als beide panelen leeg zijn, zijn er geen fouten of waarschuwingen gevonden in de recente loggeschiedenis.

Het onbewerkte logbestand bekijken

  1. Scrol op dezelfde pagina omlaag naar de kaart Log Viewer.
  2. De viewer toont standaard de laatste 500 regels. Wijzig het veld Regels en klik op Herladen om een ander aantal weer te geven (100 tot 2.000 regels).
  3. Door ergens in de tekst van de log viewer te klikken, wordt alle zichtbare inhoud geselecteerd, waardoor het eenvoudig is om het logboek te kopiëren voor externe analyse.

Het logbestand wissen

  1. Klik in de werkbalk van de Log Viewer op Logbestand wissen.
  2. Bevestig de melding in het dialoogvenster. Het bestand wordt leeggemaakt en er wordt één enkele bevestigingsregel geschreven.
  3. Het wissen van het logboek is een definitieve actie en kan niet ongedaan worden gemaakt. Maak eerst een kopie als u de inhoud wilt bewaren.

De knop voor het wissen wordt alleen getoond als het logbestand bestaat. Als het bestand niet wordt gevonden of niet beschrijfbaar is, wordt er een melding weergegeven.

Monitoring via het tabblad Systeem & Hulp

De pagina ADP Car Market Hub → Systeem & Hulp biedt monitoring van de omgeving en connectiviteit:

SectieWat het toont
Connectiviteit & APIBereikbaarheid en responscode van de AutoScout24-API-endpoint, status en vervaldatum van het OAuth-token, bereikbaarheid van de REST API-cron-endpoint, bereikbaarheid van de Market Hub-API
AchtergrondtakenWP-Cron hook-namen, schema, volgende uitvoeringstijd, vergrendelingsstatus (lock status) en handmatige startknoppen voor de importtaak, de afbeeldingswachtrij-worker, het opschonen van analytics en de prijsanalyse
Plugin-vereistenPHP-versie, PHP-extensies (mbstring, JSON, OpenSSL, cURL, GD/Imagick, ZipArchive), WordPress-versie
OmgevingPHP-geheugenlimiet en maximale uitvoeringstijd met kleurgecodeerde statusbadges; beschrijfbaarheid van de uploads-map; schijfruimte

Statusbadges gebruiken een stoplichtsysteem:

  • Groen (ok) — binnen het aanbevolen bereik
  • Oranje (waarschuwing) — acceptabel, maar aandacht kan vereist zijn
  • Rood (slecht) — buiten het aanbevolen bereik; zal waarschijnlijk problemen veroorzaken

Diagnostische gegevens exporteren

Het tabblad Systeem & Hulp bevat een knop Diagnostische gegevens downloaden waarmee een ZIP-bestand (of JSON als ZipArchive niet beschikbaar is) wordt geëxporteerd met systeeminformatie die nuttig is voor ondersteuningsverzoeken. De export bevat geen inloggegevens of privégegevens.

Configuratiereferentie

OptieStandaardDoel
Verbose loggingAan (1)Logt een regel voor elk voertuig en elke afbeeldingsactie tijdens de import
Logbestandspad{uploads}/as24ci-logs/adp-car-market-hub.logVast; gebaseerd op de uploads-map van WordPress
Max. logbestandsgrootte voor rotatie10 MBHardcoded in de Logger-klasse
Bewaartermijn logarchief7 dagenHardcoded in the Logger-klasse
Standaard aantal regels Log Viewer500Aanpasbaar in de UI (100–2.000)

Operationele opmerkingen

  • Als de uploads-map niet beschrijfbaar is, kan het logbestand niet worden aangemaakt en worden alle logpogingen geruisloos genegeerd. Het tabblad Systeem & Hulp toont in dat geval een waarschuwing voor de status van de uploads-map.
  • Logrotatie wordt geactiveerd door logschrijfacties, niet door een afzonderlijke geplande taak. Als er niet wordt gelogd (bijvoorbeeld omdat de site inactief is), wordt de rotatie pas uitgevoerd bij de volgende logschrijfactie.
  • Het logboek registreert geen paginaweergaven aan de frontend of analytics-gebeurtenissen. Deze worden opgeslagen in de database-tabel {prefix}as24ci_analytics. Zie het tabblad Analytics voor die gegevens.
  • Op WordPress multisite-installaties heeft elke site in het netwerk zijn eigen uploads-map en dus zijn eigen afzonderlijke logbestand.

Problemen oplossen

SymptoomWaarschijnlijke oorzaakControle
Melding 'Logbestand niet gevonden' in tabblad LogsLogmap is niet beschrijfbaar, of er is nog geen import uitgevoerdControleer de machtigingen van de uploads-map in het tabblad Systeem & Hulp; start handmatig een import
Melding 'Kon logbestand niet wissen'Logbestand is niet beschrijfbaar door de webserverControleer de bestandssysteemmachtigingen op de map as24ci-logs/
Tabblad Logs toont geen recente fouten, maar imports mislukkenUitgebreide logging is uitgeschakeld, of fouten bereiken de logger nietSchakel uitgebreide logging in; controleer het PHP-foutenlogboek op fatale fouten
Logbestand wordt erg grootUitgebreide logging is ingeschakeld bij een grote catalogusSchakel uitgebreide logging uit in de plugin-instellingen
.htaccess-beveiliging werkt niet op nginx.htaccess is alleen voor ApacheVoeg gelijkwaardige nginx-regels toe om directe toegang tot de logmap te blokkeren
Gearchiveerde logbestanden stapelen zich op buiten de 7 dagenLogrotatie wordt niet uitgevoerd (site is inactief)Start handmatig een import om een rotatiecontrole uit te voeren

Gerelateerde documenten