Projet

Général

Profil

Log4Qt

Présentation

Dans certaines applications, il serait pratique de générer des logs "systèmes" comme le font les serveurs (apache, etc.) par exemple

2011-10-15 14:10:41.239 [] INFO  Application  - Lancement de l'application
2011-10-15 14:10:41.334 [] INFO  Tunnels  - Tunnel xmpp OK
2011-10-15 14:10:41.336 [] INFO  Tunnels  - Tunnel web OK
2011-10-15 14:10:44.519 [] INFO  Application  - Fermeture demandee
2011-10-15 14:10:44.523 [] INFO  Tunnels  - Tunnel web FERME
2011-10-15 14:10:49.527 [] INFO  Tunnels  - Tunnel xmpp FERME

Utilisation de la lib log4Qt

Cette lib est disponible à l'adresse suivante: http://log4qt.sourceforge.net/

  • Ajout dans le .pro
#log4qt
include(lib/log4qt/log4qt.pri)
  • Dans le .h
#include "log4qt/ttcclayout.h" 
#include "log4qt/consoleappender.h" 
#include "log4qt/logger.h" 
#include "log4qt/logmanager.h" 
#include "log4qt/fileappender.h" 
#include "log4qt/helpers/datetime.h" 
  • Utilisation dans le .cpp (constructeur)
    //ouverture du systeme de log
    Log4Qt::LogManager::rootLogger();
    Log4Qt::TTCCLayout *p_layout = new Log4Qt::TTCCLayout();
    //creation d'un layout de log
    p_layout->setName(QLatin1String("Layout"));
    p_layout->activateOptions();
    // Creation d'un appender de type console
    //    Log4Qt::ConsoleAppender *p_appender = new Log4Qt::ConsoleAppender(p_layout, Log4Qt::ConsoleAppender::STDOUT_TARGET);
    //Creation d'un appender de type fichier de log
    Log4Qt::FileAppender *p_appender = new Log4Qt::FileAppender(p_layout, "/tmp/toto.log", true, true);
    p_appender->setName(QLatin1String("Appender"));
    p_appender->activateOptions();
    p_layout->setDateFormat(Log4Qt::TTCCLayout::ISO8601);
    // Set appender on root logger
    Log4Qt::Logger::rootLogger()->addAppender(p_appender);
  • Utilisation dans le .cpp quand vous voulez "logguer" quelque-chose
    Log4Qt::Logger::logger(QLatin1String("Application"))->info("Lancement de l'application");
Redmine Appliance - Powered by TurnKey Linux