Revision: 40690
          http://brlcad.svn.sourceforge.net/brlcad/?rev=40690&view=rev
Author:   davidloman
Date:     2010-09-26 22:17:59 +0000 (Sun, 26 Sep 2010)

Log Message:
-----------
Rewire the internals of the GS Logger to piggyback on top of bu_log.

Modified Paths:
--------------
    rt^3/trunk/include/Logger.h
    rt^3/trunk/src/utility/CMakeLists.txt
    rt^3/trunk/src/utility/Logger.cxx
    rt^3/trunk/tests/GS/GeometryServiceTest.cxx

Modified: rt^3/trunk/include/Logger.h
===================================================================
--- rt^3/trunk/include/Logger.h 2010-09-26 20:48:09 UTC (rev 40689)
+++ rt^3/trunk/include/Logger.h 2010-09-26 22:17:59 UTC (rev 40690)
@@ -38,32 +38,33 @@
 
 public:
        static Logger* getInstance();
+       virtual ~Logger(){};
 
        void enableVerbose()
        {
-               this->_verbose = true;
+               this->verbose = true;
        }
        void disableVerbose()
        {
-               this->_verbose = false;
+               this->verbose = false;
        }
 
-       void enableLogToStdOut()
+       void enableLogToConsole()
        {
-               this->_toStdOut = true;
+               this->printToConsole = true;
        }
-       void disableLogToStdOut()
+       void disableLogToConsole()
        {
-               this->_toStdOut = false;
+               this->printToConsole = false;
        }
 
        void enableLogToFile()
        {
-               this->_toFile = true;
+               this->printToFile = true;
        }
        void disableLogToFile()
        {
-               this->_toFile = false;
+               this->printToFile = false;
        }
 
        void logBANNER(QString origin, QString string);
@@ -78,18 +79,18 @@
                BANNER, INFO, WARNING, ERROR, FATAL, DEBUG
        };
 
-protected:
+private:
        static Logger* instance;
        static QMutex* lock;
-       bool _verbose;
-       bool _toStdOut;
-       bool _toFile;
+       bool verbose;
+       bool printToConsole;
+       bool printToFile;
 
        Logger();
        Logger(const Logger& logger){};
        Logger& operator=(const Logger& log){};
-       ~Logger(){};
 
+
        void log(quint32 logLevel, QString origin, QString string);
 };
 

Modified: rt^3/trunk/src/utility/CMakeLists.txt
===================================================================
--- rt^3/trunk/src/utility/CMakeLists.txt       2010-09-26 20:48:09 UTC (rev 
40689)
+++ rt^3/trunk/src/utility/CMakeLists.txt       2010-09-26 22:17:59 UTC (rev 
40690)
@@ -31,11 +31,12 @@
 #Set Include Dirs
 RT3_PROJECT_ADD_INCLUDE_DIRS(
     ${QT_INCLUDE_DIR}
+    ${BRLCAD_INC_DIRS}
 )
 
 #Set Libs
 RT3_PROJECT_ADD_LIBS(
-
+    ${_BRLCAD_LIBRARY_bu}
     ${QT_LIBRARIES}
 )
 

Modified: rt^3/trunk/src/utility/Logger.cxx
===================================================================
--- rt^3/trunk/src/utility/Logger.cxx   2010-09-26 20:48:09 UTC (rev 40689)
+++ rt^3/trunk/src/utility/Logger.cxx   2010-09-26 22:17:59 UTC (rev 40690)
@@ -25,111 +25,109 @@
 
 #include "Logger.h"
 #include <QtCore/QTime>
+#include "brlcad/bu.h"
 #include <iomanip>
+#include <sstream>
 
 //Statics instantiation
 Logger* Logger::instance;
 QMutex* Logger::lock = new QMutex();
 
 Logger::Logger() :
-       _verbose(false), _toFile(false), _toStdOut(true)
-{
+       verbose(false), printToFile(false), printToConsole(true) {
 }
 
-Logger* Logger::getInstance()
-{
-    QMutexLocker locker(Logger::lock);
+Logger* Logger::getInstance() {
+       QMutexLocker locker(Logger::lock);
 
-    if (Logger::instance == NULL) {
-       Logger::instance = new Logger();
-    }
+       if (Logger::instance == NULL) {
+               Logger::instance = new Logger();
+       }
 
-    return Logger::instance;
+       return Logger::instance;
 }
 
-void Logger::logBANNER(QString origin, QString string)
-{
-    this->log(Logger::BANNER, origin, string);
+void Logger::logBANNER(QString origin, QString string) {
+       this->log(Logger::BANNER, origin, string);
 }
 
-void Logger::logDEBUG(QString origin, QString string)
-{
-    this->log(Logger::DEBUG, origin, string);
+void Logger::logDEBUG(QString origin, QString string) {
+       this->log(Logger::DEBUG, origin, string);
 }
 
-void Logger::logINFO(QString origin, QString string)
-{
-    this->log(Logger::INFO, origin, string);
+void Logger::logINFO(QString origin, QString string) {
+       this->log(Logger::INFO, origin, string);
 }
 
-void Logger::logWARNING(QString origin, QString string)
-{
-    this->log(Logger::WARNING, origin, string);
+void Logger::logWARNING(QString origin, QString string) {
+       this->log(Logger::WARNING, origin, string);
 }
 
-void Logger::logERROR(QString origin, QString string)
-{
-    this->log(Logger::ERROR, origin, string);
+void Logger::logERROR(QString origin, QString string) {
+       this->log(Logger::ERROR, origin, string);
 }
 
-void Logger::logFATAL(QString origin, QString string)
-{
-    this->log(Logger::FATAL, origin, string);
+void Logger::logFATAL(QString origin, QString string) {
+       this->log(Logger::FATAL, origin, string);
 }
 
-void Logger::log(quint32 logLevel, QString origin, QString string)
-{
-    QString time("");
+void Logger::log(quint32 logLevel, QString origin, QString string) {
+       std::string time("");
 
-    QString type("");
+       std::string type("");
 
-    time += QTime::currentTime().toString();
+       time += QTime::currentTime().toString().toStdString();
 
-    switch (logLevel) {
-    case (Logger::FATAL):
-       type += "(FATAL) ";
-       break;
-    case (Logger::ERROR):
-       type += "(ERROR) ";
-       break;
-    case (Logger::WARNING):
-       type += "(WARNING) ";
-       break;
-    case (Logger::INFO):
-       type += "(INFO) ";
-       break;
-    case (Logger::BANNER):
-       type += "(BANNER) ";
-       break;
-    case (Logger::DEBUG):
-    default:
-       type += "(DEBUG) ";
-       break;
-    }
+       switch (logLevel) {
+       case (Logger::FATAL):
+               type += "(FATAL) ";
+               break;
+       case (Logger::ERROR):
+               type += "(ERROR) ";
+               break;
+       case (Logger::WARNING):
+               type += "(WARNING) ";
+               break;
+       case (Logger::INFO):
+               type += "(INFO) ";
+               break;
+       case (Logger::BANNER):
+               type += "(BANNER) ";
+               break;
+       case (Logger::DEBUG):
+       default:
+               type += "(DEBUG) ";
+               break;
+       }
 
-    QMutexLocker locker(Logger::lock);
+       QMutexLocker locker(Logger::lock);
 
-    if (this->_toFile) {
-           //TODO add file logging
-    }
+       if (this->printToFile) {
+               //TODO add file logging
+       }
 
-    if (this->_toStdOut) {
-       std::cout << std::setw(12) << std::setfill(' ') << std::left << 
time.toStdString();
-       std::cout << std::setw(20) << std::setfill(' ') << std::left << 
origin.toStdString();
-       std::cout << std::setw(12) << std::setfill(' ') << std::left << 
type.toStdString();
+       std::ostringstream out("");
 
-       if (logLevel == Logger::BANNER) {
-           std::cout << std::setfill(' ') << std::left << "======= " << 
string.toStdString() << " =======";
-       } else {
-           std::cout << std::setfill(' ') << std::left << string.toStdString();
-       }
+       if (this->printToConsole) {
+               out << std::setw(12) << std::setfill(' ') << std::left << time;
+               out << std::setw(20) << std::setfill(' ') << std::left
+                               << origin.toStdString();
+               out << std::setw(12) << std::setfill(' ') << std::left << type;
 
-       if (this->_verbose) {
-           std::cout << std::setfill(' ') << " \t" << "STACK TRACE GOES HERE";
-       }
+               if (logLevel == Logger::BANNER) {
+                       out << std::setfill(' ') << std::left << "======= " << 
string.toStdString() << " =======";
+               } else {
+                       out << std::setfill(' ') << std::left << 
string.toStdString();
+               }
 
-       std::cout << std::endl;
-    }
+               if (this->verbose) {
+                       out << std::setfill(' ') << " \t" << "STACK TRACE GOES 
HERE";
+               }
+
+               out << std::endl;
+
+               bu_log(out.str().c_str());
+       }
 }
 
 // Local Variables: ***

Modified: rt^3/trunk/tests/GS/GeometryServiceTest.cxx
===================================================================
--- rt^3/trunk/tests/GS/GeometryServiceTest.cxx 2010-09-26 20:48:09 UTC (rev 
40689)
+++ rt^3/trunk/tests/GS/GeometryServiceTest.cxx 2010-09-26 22:17:59 UTC (rev 
40690)
@@ -448,7 +448,7 @@
 int main(int ac, char *av[])
 {
     //disable the logger for now.
-    Logger::getInstance()->disableLogToStdOut();
+    Logger::getInstance()->disableLogToConsole();
 
     std::vector<std::string> gcdir, gc2dir, gc3dir;
     std::string rep, rep2;


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits

Reply via email to