File di log in C++

di il
2 risposte

File di log in C++

Salve, vorrei creare un file in cui vengano scritti tutti gli errori i warnings e i cout del mio programma, ma ancora non sono riuscita..sono riuscita solo a creare un file che contenga i cout della mia console

2 Risposte

  • Re: File di log in C++

    Ci sono librerie specializzate per questo:

    https://code.google.com/archive/p/google-glog
    https://www.boost.org/doc/libs/1_56_0/libs/log/doc/html/index.html
    http://log4cpp.sourceforge.net
  • Re: File di log in C++

    vale88 ha scritto:


    Salve, vorrei creare un file in cui vengano scritti tutti gli errori i warnings e i cout del mio programma, ma ancora non sono riuscita..sono riuscita solo a creare un file che contenga i cout della mia console
    Banalmente crea una variabile globale "logattivato" o qualcosa del genere.
    Poi crea una funzione "logga" cui passerai una stringa; la funzione scriverà (appenderà) in un qualche file di testo la stringa (magari mettendoci prima un timestamp), qualora sia "logattivato".

    Dentro il codice avrai quindi qualcosa del tipo
    
     (...) fai ... chiama...
     logga("provo a entrare nella funzione pippo");
     chiamopippo();
     logga("sono uscito dalla funzione pippo");
     (...) fai altro
     
     logga("il valore di X è negativo, sono dolori...")
     
    la funzione logga() sarà del tipo
    
    if (logattivato) then
      {
       aggiunginelfile "log.txt" data,ora e parametro in input
      }
    
    Ci sono poi tante variazioni, tipicamente sulla verbosità.
    Cioè puoi passare un ulteriore parametro, del tipo VERBOSO_SEMPRE, VERBOSO_MEDIO, VERBOSO_BASSO, da confrontare con il valore della variable globale.
    In sostanza per loggare solo le cose "importanti", oppure tutto quanto, anche riga per riga (ovviamente dove ci sono gli algoritmi più complessi)
Devi accedere o registrarti per scrivere nel forum
2 risposte