Changeset 122 for XMLIO_V2/dev/dev_rv/src/XMLIO/logger.hpp
- Timestamp:
- 09/20/10 17:30:34 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XMLIO_V2/dev/dev_rv/src/XMLIO/logger.hpp
r120 r122 3 3 4 4 // 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 14 5 #include <csignal> 15 6 … … 19 10 #endif // __GNUC__ 20 11 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; 12 using std::string; 30 13 31 14 namespace XMLIOSERVER 32 15 { 33 class ILogger 16 class ILogger : public std::ostringstream 34 17 { 18 private : 19 20 ILogger() 21 { signal(SIGSEGV, SigHandler); } 22 23 static ILogger LOGGER; 24 35 25 public : 36 26 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); } 49 28 50 29 static void ShowBTrace(std::ostream& out = std::clog) … … 84 63 } 85 64 86 87 static Logger & GetConsoleLogger(void) {return (Logger::get("ConsoleLogger"));}88 89 65 ~ILogger(void) 90 { /* Ne rien faire de plus */}66 { std::cout << str() << std::endl; } 91 67 92 68 }; // class XMLIOLogger 93 69 94 70 // Initialisation de la classe de Logging 95 ILogger LOGGER;71 ILogger ILogger::LOGGER; 96 72 97 73 ///////////////////////////////////////////////////////////////////// … … 113 89 } // namespace XMLIOSERVER 114 90 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) 118 94 // A compléter. 119 95
Note: See TracChangeset
for help on using the changeset viewer.