Skip to content

Logging framework implementeren #12

@Muhammet369

Description

@Muhammet369

Beschrijving

We willen geen print() voor logging doeleinden. Logging is noodzakelijk want:

  1. Productie zichtbaarheid
  2. Debugging doeleinden
  3. Monitoring tijdens run
  4. Performance analyse
  5. Filteren - Scheid INFO/WARNING/ERROR berichten (kan niet met print)

Eindgebruikers hebben ook een goed gevoel bij als ze op een structurele manier kunnen zien wat de applicatie doet

Acceptatiecriteria

✅ Alle print statements vervangen door juiste log niveaus:

  • print("Start predicting...") → logger.info(...)
  • print(f"Error: {error}") → logger.error(...)

✅ Log bestand wordt automatisch aangemaakt in data/output/studentprognose.log

✅ Elke fout bevat context:
logger.error(f"SARIMA faalde voor {programme}, {herkomst}, jaar={jaar}, week={week}: {error}")

✅ Geen globale warning onderdrukking - warnings worden selectief gelogd

✅ Log niveaus correct gebruikt:

  • DEBUG - Gedetailleerde diagnostische info
  • INFO - Normale operatie mijlpalen
  • WARNING - Herstelbare problemen
  • ERROR - Fouten die aandacht vereisen

✅ Stack traces inbegrepen voor exceptions: exc_info=True

✅ Logs hebben timestamps en zijn parseerbaar voor geautomatiseerde analyse

Metadata

Metadata

Assignees

Labels

techTechnische verbeteringen

Type

No fields configured for Task.

Projects

Status
Todo

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions