Changeset c3f8c4
- Timestamp:
- Mar 11, 2010, 2:19:53 PM (15 years ago)
- Children:
- e9f2e1
- Parents:
- 8a4f12
- Location:
- molecuilder/src
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
molecuilder/src/Makefile.am
r8a4f12 rc3f8c4 12 12 13 13 PATTERNSOURCE = Patterns/Observer.cpp 14 PATTERNHEADER = Patterns/Observer.hpp Patterns/Cacheable.hpp 14 PATTERNHEADER = Patterns/Cacheable.hpp \ 15 Patterns/Observer.hpp \ 16 Patterns/Singleton.hpp 15 17 16 18 VIEWSOURCE = Views/View.cpp Views/StringView.cpp Views/MethodStringView.cpp Views/StreamStringView.cpp -
molecuilder/src/log.cpp
r8a4f12 rc3f8c4 15 15 */ 16 16 void setVerbosity(int verbosityLevel) { 17 logger::getInstance() ->setVerbosity(verbosityLevel);17 logger::getInstance().setVerbosity(verbosityLevel); 18 18 errorLogger::getInstance()->setVerbosity(verbosityLevel); 19 19 } … … 24 24 * \param indentation level of the message to log 25 25 */ 26 class logger *Log() {26 class logger& Log() { 27 27 return logger::getInstance(); 28 28 } -
molecuilder/src/logger.cpp
r8a4f12 rc3f8c4 9 9 #include "logger.hpp" 10 10 #include "verbose.hpp" 11 #include "Patterns/Singleton_impl.hpp" 11 12 12 13 ofstream nullStream("/dev/null"); 13 14 14 logger* logger::instance = NULL;15 15 int logger::verbosity = 2; 16 16 ostream* logger::nix = &nullStream; … … 23 23 logger::logger() 24 24 { 25 instance = NULL;26 25 verbosity = 2; 27 26 }; … … 34 33 } 35 34 36 /** 37 * Returns the singleton logger instance. 38 * 39 * \return logger instance 40 */ 41 logger* logger::getInstance() { 42 if (instance == NULL) { 43 instance = new logger(); 44 } 45 46 return instance; 47 } 48 49 50 /** 51 * Purges the current logger instance. 52 */ 53 void logger::purgeInstance() { 54 if (instance != NULL) { 55 delete instance; 56 } 57 58 instance = NULL; 59 } 35 CONSTRUCT_SINGLETON(logger) 60 36 61 37 /** -
molecuilder/src/logger.hpp
r8a4f12 rc3f8c4 11 11 #include <iostream> 12 12 13 #include "Patterns/Singleton.hpp" 14 13 15 using namespace std; 14 16 15 17 class Verbose; 16 18 17 class logger { 19 class logger : public Singleton<logger> { 20 friend class Singleton<logger>; 18 21 public : 19 22 static ostream *nix; 20 23 static int verbosity; 21 24 22 static logger* getInstance();23 static void purgeInstance();24 25 static bool DoOutput(); 25 26 static void setVerbosity(int verbosityLevel); … … 30 31 /** Do not call this destructor directly, use purgeInstance() instead. */ 31 32 ~logger(); 32 33 private:34 static logger* instance;35 33 }; 36 34 -
molecuilder/src/unittests/logunittest.cpp
r8a4f12 rc3f8c4 40 40 void LogTest::logTest() 41 41 { 42 logger::getInstance() ->setVerbosity(2);42 logger::getInstance().setVerbosity(2); 43 43 Log() << Verbose(0) << "Verbosity level is set to 2." << endl; 44 44 Log() << Verbose(0) << "Test level 0" << endl;
Note:
See TracChangeset
for help on using the changeset viewer.