OrocosComponentLibrary  2.7.0
LoggingEvent.cpp
00001 #include "LoggingEvent.hpp"
00002 #include <log4cpp/Priority.hh>
00003 #include <log4cpp/threading/Threading.hh>
00004 #include <cstdio>
00005 
00006 using namespace RTT;
00007 
00008 namespace OCL {
00009 namespace logging {
00010     
00011 LoggingEvent::LoggingEvent() :
00012         categoryName(""),
00013         message(""),
00014         ndc(""),
00015         priority(log4cpp::Priority::NOTSET),
00016         threadName(""),
00017         timeStamp()
00018 {
00019 }
00020 
00021 LoggingEvent::LoggingEvent(const LoggingEvent& toCopy) :
00022         categoryName(toCopy.categoryName),
00023         message(toCopy.message),
00024         ndc(toCopy.ndc),
00025         priority(toCopy.priority),
00026         threadName(toCopy.threadName),
00027         timeStamp(toCopy.timeStamp)
00028 {
00029 }
00030 
00031 LoggingEvent::LoggingEvent(const rt_string& categoryName, 
00032                            const rt_string& message,
00033                            const rt_string& ndc, 
00034                            log4cpp::Priority::Value priority) :
00035         categoryName(categoryName),
00036         message(message),
00037         ndc(ndc),
00038         priority(priority),
00039         threadName(""),
00040         timeStamp()
00041 {
00042     char    buffer[16];
00043     threadName = log4cpp::threading::getThreadId(&buffer[0]);
00044 }
00045 
00046 const LoggingEvent& LoggingEvent::operator=(const LoggingEvent& rhs)
00047 {
00048     if (&rhs != this)   // prevent self-copy
00049     {
00050         categoryName    = rhs.categoryName;
00051         message         = rhs.message;
00052         ndc             = rhs.ndc;
00053         priority        = rhs.priority;
00054         threadName      = rhs.threadName;
00055         timeStamp       = rhs.timeStamp;
00056     }
00057     return *this;
00058 }
00059 
00060 LoggingEvent::~LoggingEvent()
00061 {
00062 }
00063 
00064 log4cpp::LoggingEvent LoggingEvent::toLog4cpp()
00065 {   
00066     return log4cpp::LoggingEvent(makeString(this->categoryName),
00067                                  makeString(this->message),
00068                                  makeString(this->ndc),
00069                                  this->priority,
00070                                  makeString(this->threadName),
00071                                  this->timeStamp);
00072 }
00073         
00074 
00075 // namespaces
00076 }
00077 }