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
| Niveau | Wanneer gebruikt |
|---|---|
INFO | Normale werking: import gestart/voltooid, voortgang van de afbeeldingswachtrij, configuratiegebeurtenissen |
WARNING | Verminderde werking: mislukte downloads van afbeeldingen, detectie van verouderde vergrendelingen (locks), terugval naar WebP-conversie |
ERROR | Fouten die aandacht vereisen: API-fouten, mislukte media-sideloads, fouten bij het opslaan van berichten |
DEBUG | Uitgebreide 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 doortoken=*** - Parameters voor
client_secret=...worden vervangen doorclient_secret=*** - Headerwaarden voor
Authorization: Bearer ...worden vervangen doorBearer ***
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
- Open ADP Car Market Hub → Logs.
- Het paneel Recente fouten toont de meest recente vermeldingen die
[ERROR]bevatten uit de laatste 2.000 regels van het logbestand (maximaal 50 vermeldingen). - Het paneel Recente waarschuwingen toont de meest recente vermeldingen die
[WARNING]bevatten uit hetzelfde scanvenster. - Als beide panelen leeg zijn, zijn er geen fouten of waarschuwingen gevonden in de recente loggeschiedenis.
Het onbewerkte logbestand bekijken
- Scrol op dezelfde pagina omlaag naar de kaart Log Viewer.
- 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).
- 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
- Klik in de werkbalk van de Log Viewer op Logbestand wissen.
- Bevestig de melding in het dialoogvenster. Het bestand wordt leeggemaakt en er wordt één enkele bevestigingsregel geschreven.
- 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:
| Sectie | Wat het toont |
|---|---|
| Connectiviteit & API | Bereikbaarheid 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 |
| Achtergrondtaken | WP-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-vereisten | PHP-versie, PHP-extensies (mbstring, JSON, OpenSSL, cURL, GD/Imagick, ZipArchive), WordPress-versie |
| Omgeving | PHP-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
| Optie | Standaard | Doel |
|---|---|---|
| Verbose logging | Aan (1) | Logt een regel voor elk voertuig en elke afbeeldingsactie tijdens de import |
| Logbestandspad | {uploads}/as24ci-logs/adp-car-market-hub.log | Vast; gebaseerd op de uploads-map van WordPress |
| Max. logbestandsgrootte voor rotatie | 10 MB | Hardcoded in de Logger-klasse |
| Bewaartermijn logarchief | 7 dagen | Hardcoded in the Logger-klasse |
| Standaard aantal regels Log Viewer | 500 | Aanpasbaar 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
| Symptoom | Waarschijnlijke oorzaak | Controle |
|---|---|---|
| Melding 'Logbestand niet gevonden' in tabblad Logs | Logmap is niet beschrijfbaar, of er is nog geen import uitgevoerd | Controleer 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 webserver | Controleer de bestandssysteemmachtigingen op de map as24ci-logs/ |
| Tabblad Logs toont geen recente fouten, maar imports mislukken | Uitgebreide logging is uitgeschakeld, of fouten bereiken de logger niet | Schakel uitgebreide logging in; controleer het PHP-foutenlogboek op fatale fouten |
| Logbestand wordt erg groot | Uitgebreide logging is ingeschakeld bij een grote catalogus | Schakel uitgebreide logging uit in de plugin-instellingen |
.htaccess-beveiliging werkt niet op nginx | .htaccess is alleen voor Apache | Voeg gelijkwaardige nginx-regels toe om directe toegang tot de logmap te blokkeren |
| Gearchiveerde logbestanden stapelen zich op buiten de 7 dagen | Logrotatie wordt niet uitgevoerd (site is inactief) | Start handmatig een import om een rotatiecontrole uit te voeren |