Monolog

From A-Eskwiki
Revision as of 12:50, 22 August 2018 by Timb (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Voor het loggen van errors en relevante debuginformatie gebruiken we monolog.

Een logbericht maken

Er is een globale variabele $logger, die een instance is van de monolog-logger. Hierop kun je bijvoorbeeld $logger->debug('informatie van lage prioriteit, alleen op debug zichtbaar'), $logger->info('informatie van lage prioriteit, ook in de live-logs zichtbaar') of $logger->notice('informatie van hogere prioriteit, de webcie wordt gemaild!') aanroepen.

Het debug-niveau is alleen zichtbaar op debugomgevingen. Privacygevoelige informatie kun je beter weglaten, maar als het moet, doe dan in debugniveau.

Het info-niveau wordt ook in de live-logs opgeslagen. Hierin kun je bijvoorbeeld informatie zetten die je helpt om de executiestatus te reconstrueren bij errors.

Het notice-niveau en hoger wordt gemaild naar de WebCie. Gebruik dit bijvoorbeeld voor waarschuwingen dat iets deprecated is.

Een error / exceptie loggen

Errors en onafgevangen excepties worden door Space gelogd. Bij een error of onafgevangen exceptie komt de error handler in www/space/error-handler.php in actie. Op debug toont die een Whoops-errorpagina, en op live (en demo) stuurt die een foutmelding naar de log.

Logs bekijken

Alle logberichten op demo en live met niveau vanaf notice worden naar de WebCie gemaild. Ook worden logs bewaard in een bestand: op live in /var/log/www/php-warnings.log en op develop in $webrootdir/log. Ten slotte kun je op je debug op het debugknopje klikken voor profiler- en loginformatie, en zie je op foutmeldingpagina's de loginformatie ook terug.