Ga naar inhoud

Logger Guidelines

In de woningwaardering package wordt de logger van loguru gebruikt voor logging. Voor het developen in de woningwaardering package worden de logging levels DEBUG, INFO, WARNING en ERROR gebruikt. De verschillende levels worden gebruikt voor de verschillende types van logging, zoals beschreven in de python 3.11 documentatie. Hieronder is de tabel van de python documentatie gekopieerd waarin de verschillende logging levels staan beschreven. De tabel is aangevuld met de kolom "Gebruik Woningwaardering Package", waarin wordt aangegeven met voorbeelden welke soort logging gedaan wordt op de verschillende logging levels.

Level Numerieke waarde Wat het betekent / Wanneer te gebruiken Gebruik Woningwaardering Package
NOTSET 0 Wanneer ingesteld op een logger, geeft dit aan dat bovenliggende loggers geraadpleegd moeten worden om het effectieve niveau te bepalen. Als dit nog steeds NOTSET oplevert, worden alle gebeurtenissen gelogd. Wanneer ingesteld op een handler, worden alle gebeurtenissen afgehandeld. Wordt niet gebruikt in de woningwaardering package.
DEBUG 10 Gedetailleerde informatie, meestal alleen van belang voor een ontwikkelaar die een probleem probeert te diagnosticeren. Wordt alleen gebruikt om details weer the geven aan een developer. bijvoorbeeld: wat een functie terug geeft of welke type een variabele heeft.
INFO 20 Bevestiging dat alles werkt zoals verwacht. Bevat beschrijvingen van de werking van de code. Bijvoorbeeld: Het berekende resultaat voor een stelselgroep of welke code op basis van de input data wordt gerund.
WARNING 30 Een indicatie dat er iets onverwachts is gebeurd, of dat er in de nabije toekomst een probleem kan optreden (bijv. 'schijfruimte bijna vol'). De software werkt nog steeds zoals verwacht. Een warning wordt gelogd wanneer er bijvoorbeeld iets mist in de input data of een functie deprecated is. Dit kan er toe leiden dat bepaalde code niet uitgevoerd kan worden. Voor warnings aan de package gebruiker, wordt altijd warnings.warn() gebruikt. Zie het onderdeel warnings voor meer informatie over het geven van warnings voor gebruikers en hoe hier mee omgegaan wordt.
ERROR 40 Vanwege een ernstiger probleem heeft de software een bepaalde functie niet kunnen uitvoeren. Een error wordt in de woningwaardering package gelogd wanneer het gedrag verwacht is en de error een extra toelichting nodig heeft. Wanneer een error kritiek is voor het functioneren van de package wordt deze error geraisd. Ook kan het voorkomen dat de verwachte error toegestaan is. Dit kan bijvoorbeeld in een try/except patroon. Er kan dan gekozen worden om de error te loggen maar niet te raisen. Hierdoor kan het programma wel doorgaan en is het wel duidelijk dat er een exception heeft plaatsgevonden. Zoals een error geraisd kan worden en het programma kan laten stoppen, zo kunnen warnings ook geraisd worden om het progromma te stoppen.
CRITICAL 50 Een ernstige fout, die aangeeft dat het programma zelf mogelijk niet meer kan blijven draaien. Wordt niet gebruikt in de woningwaardering package.