Logging



  • Hallo,

    bin auf der Suche nach einem Logging-Mechanismus unter C++.

    Aus JAVA ist mir log4j bekannt. Ich habe daher mal nach log4cpp gesucht und bin dabei auf zwei Portierungen gestossen, die beide bei Sourceforge gehostet werden
    Log 4 C++: http://sourceforge.net/projects/log4cpp/ und
    log4cplus: http://sourceforge.net/projects/log4cplus

    Gibt es da etwas, das man eher verwenden sollte?
    Hat jemand Erfahrungen damit?
    Gibt es für C++ etwas besseres?

    /Dirk



  • Ist das völlig uninterssant, oderr verwendet ihr in euren Programmen kein Logging?

    Wie macht ihr dass denn?

    #if DEBUG ?

    /Dirk



  • definiere bitte mal den begriff 'Logging'.

    Devil



  • Hi,

    ich benutze DEBUG:

    #define DEBUG
    
    // [...]
    
    #ifdef DEBUG
    std::cout << "Checkpoint 1" << std::endl;
    #endif
    
    // [...]
    
    #ifdef DEBUG
    std::cout << "Checkpoint 2" << std::endl;
    #endif
    
    // [...]
    

    Is doch am besten 🙂



  • Is doch am besten

    Am Besten um möglichst schnell seinen Job zu verlieren 🙂

    Mal ehrlich. Dann doch bitte lieber gar kein logging.

    Ist das völlig uninterssant, oderr verwendet ihr in euren Programmen kein Logging?

    Ich versuche so weit wie möglich drauf zu verzichten. Und wenn ich dann doch mal logge, reichen mir Minimalimplementationen. Die beiden genannten Libs habe ich mir zwar mal angesehen, waren mir für meine Bedürfnisse aber zu kompliziert.

    Das heißt aber eigentlich natürlich nichts 😃



  • @devil81:
    Mit Logging meine ich, wie es die anderen Autoren der Antworten wohl auch verstanden richtig haben, die Ausgabe von Informationen in Dateien, auf die Konsole oder nach syslog.

    Bei log4j fand ich ganzh nett, dass das Ziel der Ausgabe dynamisch durch einen speziellen Appender konfiguriert werden kann.

    Daneben kann man dann auch unabhängig von #ifdef's, die es in Java ja nicht gibt, das Logging bis auf Klassenebene herunter auf verschieden level (DEBUG, INFO, WARN, ...) schalten.

    Ist halt ein recht komplexes, dafür aber auch mächtiges System. Bis auf die beiden genannten Ansätze habe ich auch noch nichts entsprechendes für C++ gefunden.

    Vielleicht ist es hier doch am einfachste mit #ifdef's zu arbeiten.

    Danke auf jeden Fall mal für ein wenig Feedback.

    /Dirk


Log in to reply