Ignore:
Timestamp:
09/20/10 17:30:34 (14 years ago)
Author:
hozdoba
Message:

Plusieurs modifications en attendant une version propre et stable.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XMLIO_V2/dev/dev_rv/src/XMLIO/logger.hpp

    r120 r122  
    33 
    44// Entête Poco logging 
    5 #include <Poco/Logger.h> 
    6 #include <Poco/PatternFormatter.h> 
    7 #include <Poco/FormattingChannel.h> 
    8 #include <Poco/ConsoleChannel.h> 
    9 #include <Poco/FileChannel.h> 
    10 #include <Poco/Message.h> 
    11  
    12 #include <Poco/AutoPtr.h> 
    13  
    145#include <csignal> 
    156 
     
    1910#endif // __GNUC__ 
    2011 
    21 // Classes utilisées issues de Poco 
    22 using Poco::Logger; 
    23 using Poco::PatternFormatter; 
    24 using Poco::FormattingChannel; 
    25 using Poco::ConsoleChannel; 
    26 using Poco::FileChannel; 
    27 using Poco::Message; 
    28  
    29 using Poco::AutoPtr; 
     12using std::string; 
    3013 
    3114namespace XMLIOSERVER 
    3215{ 
    33    class ILogger 
     16   class ILogger : public std::ostringstream 
    3417   { 
     18      private : 
     19 
     20         ILogger() 
     21         { signal(SIGSEGV, SigHandler); } 
     22 
     23         static ILogger LOGGER; 
     24 
    3525      public : 
    3626 
    37          ILogger() 
    38          { 
    39             // TODO Créer une sortie fichier. 
    40             AutoPtr<PatternFormatter> pf = new PatternFormatter("[%Y-%m-%d %H:%M:%S] %t"); 
    41             AutoPtr<ConsoleChannel> cc = new ConsoleChannel(); 
    42             AutoPtr<FormattingChannel> pFCConsole = new FormattingChannel(pf); 
    43             pFCConsole->setChannel(cc); 
    44             pFCConsole->open(); 
    45             Logger::create("ConsoleLogger", pFCConsole, Message::PRIO_INFORMATION); 
    46  
    47             signal(SIGSEGV, SigHandler); 
    48          } 
     27         static ILogger& GetLogger(void) { return (ILogger::LOGGER); } 
    4928 
    5029         static void ShowBTrace(std::ostream& out = std::clog) 
     
    8463         } 
    8564 
    86  
    87          static Logger & GetConsoleLogger(void) {return (Logger::get("ConsoleLogger"));} 
    88  
    8965         ~ILogger(void) 
    90          { /* Ne rien faire de plus */ } 
     66         { std::cout << str() << std::endl; } 
    9167 
    9268   }; // class XMLIOLogger 
    9369 
    9470   // Initialisation de la classe de Logging 
    95    ILogger LOGGER; 
     71   ILogger ILogger::LOGGER; 
    9672 
    9773   ///////////////////////////////////////////////////////////////////// 
     
    11389} // namespace XMLIOSERVER 
    11490 
    115 #define   ERROR(MSG)   (XMLIOSERVER::ILogger::GetConsoleLogger().error(MSG)) 
    116 #define   WARNING(MSG) (XMLIOSERVER::ILogger::GetConsoleLogger().warning(MSG)) 
    117 #define   INFO(MSG)    (XMLIOSERVER::ILogger::GetConsoleLogger().information(MSG)) 
     91#define   ERROR(MSG)   (ILogger::GetLogger() << __FILE__ << ":" << __LINE__ << ": error : "   << MSG << std::endl) 
     92#define   WARNING(MSG) (ILogger::GetLogger() << __FILE__ << ":" << __LINE__ << ": warning : " << MSG << std::endl) 
     93#define   INFO(MSG)    (ILogger::GetLogger() << __FILE__ << ":" << __LINE__ << ": info : "    << MSG << std::endl) 
    11894// A compléter. 
    11995 
Note: See TracChangeset for help on using the changeset viewer.