C++:
Logboekregistratie

Hoe:

Stel je voor dat je aan een Linux box werkt en je wilt je logs in een bestand gooien met goed ‘ol C++. Je wilt de bibliotheken <iostream> en <fstream> includeren om bestandsoperaties te doen. Hier is een snel voorbeeld:

#include <iostream>
#include <fstream>
#include <string>

int main() {
    std::ofstream logBestand("appLog.txt", std::ios::app);  // Openen in append-modus

    if (!logBestand.is_open()) {
        std::cerr << "Er was een probleem met het openen van het logbestand!" << std::endl;
        return 1;
    }

    logBestand << "Applicatie gestart" << std::endl;
  
    // ... ergens in je app-logica
    logBestand << "Een belangrijke gebeurtenis heeft plaatsgevonden" << std::endl;

    // Vergeet niet je bestandsstream te sluiten
    logBestand.close();

    return 0;
}

Als je je logbestand volgt met tail -f appLog.txt, zou je moeten zien:

Applicatie gestart
Een belangrijke gebeurtenis heeft plaatsgevonden

Netjes, je hebt een getijdstempeld record van gebeurtenissen!

Diepgaand

Loggen is zo oud als de computer zelf, met wortels in letterlijke markeringen op papier om te traceren wat ancient computers deden. In het moderne tijdperk gaat het allemaal om geavanceerde softwareoplossingen. Je hebt direct-naar-bestand loggen, zoals het snelle en vuile voorbeeld hierboven, of je kunt genieten van een chiquer logframework, zoals Log4cpp of Boost.Log in het C++ domein; deze jongens bieden logniveaus, controle over het formaat, en meer.

Over niveaus gesproken, best practices bij loggen omvatten het gebruik van verschillende niveaus van ernst—info, debug, waarschuwing, fout, fataal—zodat je het kaf van het koren kunt scheiden wanneer je probeert bugs te verpletteren of uit te zoeken waarom je app zich gedraagt als een humeurige tiener.

Op het gebied van prestaties, word niet slordig met je logs. Overmatig loggen kan je bliksemsnelle app veranderen in een slakkenmarathon, bestandssystemen vertragen, of zelfs kosten in opslaggelden als je cloudgebaseerd bent. Het juiste evenwicht vinden is de sleutel: log wat je nodig hebt, en niets meer.

Zie Ook

Voor degenen onder jullie die een extra stap willen zetten met jullie logpraktijken, bekijk deze:

En voor wat achtergrondlezing over de waaroms en hoe van loggen, duik in:

  • Deze Stack Overflow thread over best practices bij loggen geeft je een door vakgenoten beoordeelde diepgaande duik in het onderwerp.