diff --git a/configure.ac b/configure.ac index 028cee5..ecaa738 100644 --- a/configure.ac +++ b/configure.ac @@ -45,15 +45,23 @@ PKG_CHECK_MODULES([OSSIE], [ossie >= 1.8.0]) AC_ARG_ENABLE([base-classes], AS_HELP_STRING([--disable-base-classes], [Disable BULKIO base class libraries])) AM_CONDITIONAL([BUILD_BASE_CLASSES], [test "$enable_base_classes" != "no"]) +AC_ARG_ENABLE(logging, AS_HELP_STRING([--disable-logging], [Disable bulkio base class logging])) +AM_CONDITIONAL([DISABLE_LOGGING], [test "$disable_logging" != "no"]) + if test "$enable_base_classes" != "no"; then AC_SUBST([BULKIO_SO_VERSION], [0:0:0]) AC_SUBST([BULKIO_API_VERSION], [1.0]) AX_BOOST_BASE([1.41]) AX_BOOST_THREAD - OSSIE_ENABLE_LOG4CXX CHECK_VECTOR_IMPL + if test "x$disable_logging" != "xno"; then + CPPFLAGS="${CPPFLAGS} -DLOGGING=1" + else + CPPFLAGS="${CPPFLAGS} -DLOGGING=0" + fi + AC_SUBST(BULKIO_INF_INCLUDES, "-I../src/cpp -I../src/cpp/ossie") AC_SUBST(BULKIO_INF_CFLAGS, ) AC_SUBST(BULKIO_INF_LIBS, ) diff --git a/libsrc/Makefile.am b/libsrc/Makefile.am index 2e568e1..052f625 100644 --- a/libsrc/Makefile.am +++ b/libsrc/Makefile.am @@ -48,7 +48,7 @@ library_include_HEADERS = cpp/bulkio.h \ ## shipped with the source tarball. #bulkio_libincludedir = $(libdir)/bulkio-$(BULKIO_API_VERSION)/include -libbulkio_@BULKIO_API_VERSION@_la_CXXFLAGS = -Wall -I./cpp -DLOGGING $(BULKIO_INF_INCLUDES) $(BOOST_CPPFLAGS) $(OMNIORB_CFLAGS) $(OSSIE_CFLAGS) +libbulkio_@BULKIO_API_VERSION@_la_CXXFLAGS = -Wall -Wno-deprecated-declarations -I./cpp $(BULKIO_INF_INCLUDES) $(BOOST_CPPFLAGS) $(OMNIORB_CFLAGS) $(OSSIE_CFLAGS) ############################################################################### # Python diff --git a/libsrc/cpp/bulkio_base.h b/libsrc/cpp/bulkio_base.h index c519fd3..f0b9af6 100644 --- a/libsrc/cpp/bulkio_base.h +++ b/libsrc/cpp/bulkio_base.h @@ -8,7 +8,7 @@ #include #include #include -#include +#include #include #include @@ -85,8 +85,11 @@ namespace bulkio { // // Logging interface definition // +#if HAVE_LOG4CXX typedef log4cxx::LoggerPtr LOGGER_PTR; - +#else + typedef std::string LOGGER_PTR; +#endif // // Base Types used by Ports diff --git a/libsrc/cpp/bulkio_in_port.cpp b/libsrc/cpp/bulkio_in_port.cpp index dc26a57..857f400 100644 --- a/libsrc/cpp/bulkio_in_port.cpp +++ b/libsrc/cpp/bulkio_in_port.cpp @@ -111,7 +111,7 @@ namespace bulkio { template < typename PortTraits > InPort< PortTraits >::~InPort() { - TRACE_ENTER( logger, "InPort::DTOR" ); + TRACE_ENTER( logger ); // block any data coming out of getPacket.. block(); @@ -130,7 +130,7 @@ namespace bulkio { if ( stats ) delete stats; - TRACE_EXIT( logger, "InPort::DTOR" ); + TRACE_EXIT( logger ); } @@ -203,7 +203,7 @@ namespace bulkio { template < typename PortTraits > void InPort< PortTraits >::pushSRI(const BULKIO::StreamSRI& H) { - TRACE_ENTER( logger, "InPort::pushSRI" ); + TRACE_ENTER( logger ); SCOPED_LOCK lock(sriUpdateLock); BULKIO::StreamSRI tmpH = H; SriMap::iterator currH = currentHs.find(std::string(H.streamID)); @@ -227,7 +227,7 @@ namespace bulkio { } } } - TRACE_EXIT( logger, "InPort::pushSRI" ); + TRACE_EXIT( logger ); } @@ -235,9 +235,9 @@ namespace bulkio { void InPort< PortTraits >::pushPacket(const PortSequenceType & data, const BULKIO::PrecisionUTCTime& T, CORBA::Boolean EOS, const char* streamID) { - TRACE_ENTER( logger, "InPort::pushPacket" ); + TRACE_ENTER( logger ); if (queueSem->getMaxValue() == 0) { - TRACE_EXIT( logger, "InPort::pushPacket" ); + TRACE_EXIT( logger ); return; } BULKIO::StreamSRI tmpH = {1, 0.0, 1.0, 1, 0, 0.0, 0.0, 0, 0, streamID, false, 0}; @@ -294,7 +294,7 @@ namespace bulkio { dataAvailable.notify_all(); } - TRACE_EXIT( logger, "InPort::pushPacket" ); + TRACE_EXIT( logger ); } @@ -310,11 +310,11 @@ namespace bulkio { template < typename PortTraits > void InPort< PortTraits >::block() { - TRACE_ENTER( logger, "InPort::block" ); + TRACE_ENTER( logger ); breakBlock = true; queueSem->release(); dataAvailable.notify_all(); - TRACE_EXIT( logger, "InPort::block" ); + TRACE_EXIT( logger ); } template < typename PortTraits > @@ -339,14 +339,14 @@ namespace bulkio { template < typename PortTraits > typename InPort< PortTraits >::DataTransferType * InPort< PortTraits >::getPacket(float timeout) { - TRACE_ENTER( logger, "InPort::getPacket" ); + TRACE_ENTER( logger ); if (breakBlock) { - TRACE_EXIT( logger, "InPort::getPacket" ); + TRACE_EXIT( logger ); return NULL; } if (workQueue.size() == 0) { if (timeout == 0.0) { - TRACE_EXIT( logger, "InPort::getPacket" ); + TRACE_EXIT( logger ); return NULL; } else if (timeout > 0){ @@ -357,12 +357,12 @@ namespace bulkio { LOG_DEBUG( logger, "bulkio.InPort getPacket PORT:" << name << " TIMED WAIT:" << timeout); UNIQUE_LOCK lock(dataAvailableMutex); if ( dataAvailable.timed_wait( lock, to_time) == false ) { - TRACE_EXIT( logger, "InPort::getPacket" ); + TRACE_EXIT( logger ); return NULL; } if (breakBlock) { - TRACE_EXIT( logger, "InPort::getPacket" ); + TRACE_EXIT( logger ); return NULL; } } else { @@ -370,7 +370,7 @@ namespace bulkio { UNIQUE_LOCK lock(dataAvailableMutex); dataAvailable.wait(lock); if (breakBlock) { - TRACE_EXIT( logger, "InPort::getPacket" ); + TRACE_EXIT( logger ); return NULL; } } @@ -407,7 +407,7 @@ namespace bulkio { queueSem->decr(); } - TRACE_EXIT( logger, "InPort::getPacket" ); + TRACE_EXIT( logger ); return tmp; } @@ -415,9 +415,9 @@ namespace bulkio { template < typename PortTraits > typename InPort< PortTraits >::DataTransferType * InPort< PortTraits >::getPacket(float timeout, std::string &streamID ) { - TRACE_ENTER( logger, "InPort::getPacket" ); + TRACE_ENTER( logger ); if (breakBlock) { - TRACE_EXIT( logger, "InPort::getPacket" ); + TRACE_EXIT( logger ); return NULL; } @@ -425,7 +425,7 @@ namespace bulkio { if (timeout == 0.0) { lastQueueSize = workQueue.size(); - TRACE_EXIT( logger, "InPort::getPacket" ); + TRACE_EXIT( logger ); return NULL; } else if (timeout > 0){ @@ -435,7 +435,7 @@ namespace bulkio { boost::system_time to_time = boost::get_system_time() + boost::posix_time::seconds(secs) + boost::posix_time::microseconds(msecs); UNIQUE_LOCK lock(dataAvailableMutex); if ( dataAvailable.timed_wait( lock, to_time) == false ) { - TRACE_EXIT( logger, "InPort::getPacket" ); + TRACE_EXIT( logger ); return NULL; } @@ -447,7 +447,7 @@ namespace bulkio { UNIQUE_LOCK lock(dataAvailableMutex); dataAvailable.wait(lock); if (breakBlock) { - TRACE_EXIT( logger, "InPort::getPacket" ); + TRACE_EXIT( logger ); return NULL; } } @@ -473,7 +473,7 @@ namespace bulkio { LOG_TRACE( logger, "bulkio.InPort getPacket PORT:" << name << " (QUEUE="<< workQueue.size() << ")" ); if ( tmp == NULL ) { - TRACE_EXIT( logger, "InPort::getPacket" ); + TRACE_EXIT( logger ); lastQueueSize = workQueue.size(); return NULL; } @@ -506,7 +506,7 @@ namespace bulkio { queueSem->decr(); } - TRACE_EXIT( logger, "InPort::getPacket" ); + TRACE_EXIT( logger ); lastQueueSize = 0; return tmp; } @@ -608,7 +608,7 @@ namespace bulkio { template < typename PortTraits > InStringPort< PortTraits >::~InStringPort() { - TRACE_ENTER( logger, "InStringPort::DTOR" ); + TRACE_ENTER( logger ); // block any data coming out of getPacket.. we should be ok at this point but just incase block(); @@ -627,7 +627,7 @@ namespace bulkio { if ( stats ) delete stats; - TRACE_EXIT( logger, "InStringPort::DTOR" ); + TRACE_EXIT( logger ); } @@ -700,7 +700,7 @@ namespace bulkio { template < typename PortTraits > void InStringPort< PortTraits >::pushSRI(const BULKIO::StreamSRI& H) { - TRACE_ENTER( logger, "InStringPort::pushSRI" ); + TRACE_ENTER( logger ); SCOPED_LOCK lock(sriUpdateLock); BULKIO::StreamSRI tmpH = H; @@ -725,16 +725,16 @@ namespace bulkio { } } - TRACE_EXIT( logger, "InStringPort::pushSRI" ); + TRACE_EXIT( logger ); } template < typename PortTraits > void InStringPort< PortTraits >::pushPacket(const char *data, const BULKIO::PrecisionUTCTime& T, CORBA::Boolean EOS, const char* streamID) { - TRACE_ENTER( logger, "InStringPort::pushPacket" ); + TRACE_ENTER( logger ); if (queueSem->getMaxValue() == 0) { - TRACE_EXIT( logger, "InStringPort::pushPacket" ); + TRACE_EXIT( logger ); return; } BULKIO::StreamSRI tmpH = {1, 0.0, 1.0, 1, 0, 0.0, 0.0, 0, 0, streamID, false, 0}; @@ -789,17 +789,17 @@ namespace bulkio { dataAvailable.notify_all(); } - TRACE_EXIT( logger, "InStringPort::pushPacket" ); + TRACE_EXIT( logger ); } template < typename PortTraits > void InStringPort< PortTraits >::pushPacket(const char *data, CORBA::Boolean EOS, const char* streamID) { - TRACE_ENTER( logger, "InStringPort::pushPacket" ); + TRACE_ENTER( logger ); if (queueSem->getMaxValue() == 0) { - TRACE_EXIT( logger, "InStringPort::pushPacket" ); + TRACE_EXIT( logger ); return; } BULKIO::StreamSRI tmpH = {1, 0.0, 1.0, 1, 0, 0.0, 0.0, 0, 0, streamID, false, 0}; @@ -854,7 +854,7 @@ namespace bulkio { stats->update( _getElementLength(data), (float)workQueue.size()/(float)queueSem->getMaxValue(), EOS, streamID, flushToReport); dataAvailable.notify_all(); } - TRACE_EXIT( logger, "InStringPort::pushPacket" ); + TRACE_EXIT( logger ); } @@ -911,15 +911,15 @@ namespace bulkio { template < typename PortTraits > typename InStringPort< PortTraits >::DataTransferType * InStringPort< PortTraits >::getPacket(float timeout) { - TRACE_ENTER( logger, "InStringPort::getPacket" ); + TRACE_ENTER( logger ); if (breakBlock) { - TRACE_EXIT( logger, "InStringPort::getPacket" ); + TRACE_EXIT( logger ); return NULL; } if (workQueue.size() == 0) { if (timeout == 0.0) { - TRACE_EXIT( logger, "InStringPort::getPacket" ); + TRACE_EXIT( logger ); return NULL; } else if (timeout > 0){ @@ -929,19 +929,19 @@ namespace bulkio { boost::system_time to_time = boost::get_system_time() + boost::posix_time::seconds(secs) + boost::posix_time::microseconds(msecs); UNIQUE_LOCK lock(dataAvailableMutex); if ( dataAvailable.timed_wait( lock, to_time) == false ) { - TRACE_EXIT( logger, "InStringPort::getPacket" ); + TRACE_EXIT( logger ); return NULL; } if (breakBlock) { - TRACE_EXIT( logger, "InStringPort::getPacket" ); + TRACE_EXIT( logger ); return NULL; } } else { UNIQUE_LOCK lock(dataAvailableMutex); dataAvailable.wait(lock); if (breakBlock) { - TRACE_EXIT( logger, "InStringPort::getPacket" ); + TRACE_EXIT( logger ); return NULL; } } @@ -979,7 +979,7 @@ namespace bulkio { queueSem->decr(); } - TRACE_EXIT( logger, "InStringPort::getPacket" ); + TRACE_EXIT( logger ); return tmp; } @@ -996,10 +996,10 @@ namespace bulkio { template < typename PortTraits > typename InStringPort< PortTraits >::DataTransferType * InStringPort< PortTraits >::getPacket(float timeout, std::string &streamID ) { - TRACE_ENTER( logger, "InStringPort::getPacket" ); + TRACE_ENTER( logger ); if (breakBlock) { - TRACE_EXIT( logger, "InStringPort::getPacket" ); + TRACE_EXIT( logger ); return NULL; } @@ -1008,7 +1008,7 @@ namespace bulkio { if (timeout == 0.0) { lastQueueSize = workQueue.size(); - TRACE_EXIT( logger, "InStringPort::getPacket" ); + TRACE_EXIT( logger ); return NULL; } else if (timeout > 0){ @@ -1018,19 +1018,19 @@ namespace bulkio { boost::system_time to_time = boost::get_system_time() + boost::posix_time::seconds(secs) + boost::posix_time::microseconds(msecs); UNIQUE_LOCK lock(dataAvailableMutex); if ( dataAvailable.timed_wait( lock, to_time) == false ) { - TRACE_EXIT( logger, "InStringPort::getPacket" ); + TRACE_EXIT( logger ); return NULL; } if (breakBlock) { - TRACE_EXIT( logger, "InStringPort::getPacket" ); + TRACE_EXIT( logger ); return NULL; } } else { UNIQUE_LOCK lock(dataAvailableMutex); dataAvailable.wait(lock); if (breakBlock) { - TRACE_EXIT( logger, "InStringPort::getPacket" ); + TRACE_EXIT( logger ); return NULL; } } @@ -1057,7 +1057,7 @@ namespace bulkio { LOG_TRACE( logger, "bulkio.InStringPort getPacket PORT:" << name << " (QUEUE="<< workQueue.size() << ")" ); if ( tmp == NULL ) { lastQueueSize = workQueue.size(); - TRACE_EXIT( logger, "InStringPort::getPacket" ); + TRACE_EXIT( logger ); return NULL; } @@ -1089,7 +1089,7 @@ namespace bulkio { queueSem->decr(); } - TRACE_EXIT( logger, "InStringPort::getPacket" ); + TRACE_EXIT( logger ); lastQueueSize = 0; return tmp; } diff --git a/libsrc/cpp/bulkio_out_port.cpp b/libsrc/cpp/bulkio_out_port.cpp index 61d94c7..da8bf90 100644 --- a/libsrc/cpp/bulkio_out_port.cpp +++ b/libsrc/cpp/bulkio_out_port.cpp @@ -98,7 +98,7 @@ namespace bulkio { void OutPort< PortTraits >::pushSRI(const BULKIO::StreamSRI& H) { - TRACE_ENTER(logger, "OutPort::pushSRI" ); + TRACE_ENTER(logger ); typename ConnectionsList::iterator i; @@ -118,7 +118,7 @@ namespace bulkio { currentSRIs[std::string(H.streamID)] = std::make_pair(H,false) ; refreshSRI = false; - TRACE_EXIT(logger, "OutPort::pushSRI" ); + TRACE_EXIT(logger ); return; } @@ -126,7 +126,7 @@ namespace bulkio { template < typename PortTraits > void OutPort< PortTraits >::pushPacket( NativeSequenceType & data, BULKIO::PrecisionUTCTime& T, bool EOS, const std::string& streamID) { - TRACE_ENTER(logger, "OutPort::pushPacket" ); + TRACE_ENTER(logger ); if (refreshSRI) { if (currentSRIs.find(streamID) != currentSRIs.end()) { @@ -159,14 +159,14 @@ namespace bulkio { } - TRACE_EXIT(logger, "OutPort::pushPacket" ); + TRACE_EXIT(logger ); } template < typename PortTraits > void OutPort< PortTraits >::pushPacket( const DataBufferType & data, BULKIO::PrecisionUTCTime& T, bool EOS, const std::string& streamID) { - TRACE_ENTER(logger, "OutPort::pushPacket" ); + TRACE_ENTER(logger ); if (refreshSRI) { if (currentSRIs.find(streamID) != currentSRIs.end()) { @@ -201,7 +201,7 @@ namespace bulkio { } - TRACE_EXIT(logger, "OutPort::pushPacket" ); + TRACE_EXIT(logger ); } @@ -262,7 +262,7 @@ namespace bulkio { template < typename PortTraits > void OutPort< PortTraits >::connectPort(CORBA::Object_ptr connection, const char* connectionId) { - TRACE_ENTER(logger, "OutPort::connectPort" ); + TRACE_ENTER(logger ); { SCOPED_LOCK lock(updatingPortsLock); // don't want to process while command information is coming in PortVarType port; @@ -282,14 +282,14 @@ namespace bulkio { } if (_connectCB) (*_connectCB)(connectionId); - TRACE_EXIT(logger, "OutPort::connectPort" ); + TRACE_EXIT(logger ); } template < typename PortTraits > void OutPort< PortTraits >::disconnectPort(const char* connectionId) { - TRACE_ENTER(logger, "OutPort::disconnectPort" ); + TRACE_ENTER(logger ); { SCOPED_LOCK lock(updatingPortsLock); // don't want to process while command information is coming in for (unsigned int i = 0; i < outConnections.size(); i++) { @@ -308,7 +308,7 @@ namespace bulkio { } if (_disconnectCB) (*_disconnectCB)(connectionId); - TRACE_EXIT(logger, "OutPort::disconnectPort" ); + TRACE_EXIT(logger ); } template < typename PortTraits > @@ -350,7 +350,7 @@ namespace bulkio { template void OutInt8Port< PortTraits >::pushPacket( std::vector< Int8 >& data, BULKIO::PrecisionUTCTime& T, bool EOS, const std::string& streamID) { - TRACE_ENTER(this->logger, "OutInt8Port::pushPacket" ); + TRACE_ENTER(this->logger ); if ( this->refreshSRI) { if (this->currentSRIs.find(streamID) != this->currentSRIs.end()) { @@ -386,14 +386,14 @@ namespace bulkio { } - TRACE_EXIT(this->logger, "OutInt8Port::pushPacket" ); + TRACE_EXIT(this->logger ); } template void OutInt8Port< PortTraits >::pushPacket( std::vector< Char >& data, BULKIO::PrecisionUTCTime& T, bool EOS, const std::string& streamID) { - TRACE_ENTER(this->logger, "OutInt8Port::pushPacket" ); + TRACE_ENTER(this->logger ); if ( this->refreshSRI) { if (this->currentSRIs.find(streamID) != this->currentSRIs.end()) { @@ -429,7 +429,7 @@ namespace bulkio { } - TRACE_EXIT(this->logger, "OutInt8Port::pushPacket" ); + TRACE_EXIT(this->logger ); } @@ -459,7 +459,7 @@ namespace bulkio { void OutStringPort< PortTraits >::pushPacket( const char *data, BULKIO::PrecisionUTCTime& T, bool EOS, const std::string& streamID) { - TRACE_ENTER(this->logger, "OutStringPort::pushPacket" ); + TRACE_ENTER(this->logger ); if (this->refreshSRI) { if (this->currentSRIs.find(streamID) != this->currentSRIs.end()) { @@ -490,7 +490,7 @@ namespace bulkio { } - TRACE_EXIT(this->logger, "OutStringPort::pushPacket" ); + TRACE_EXIT(this->logger ); } @@ -498,7 +498,7 @@ namespace bulkio { template void OutStringPort< PortTraits >::pushPacket( const char *data, bool EOS, const std::string& streamID) { - TRACE_ENTER(this->logger, "OutStringPort::pushPacket" ); + TRACE_ENTER(this->logger ); if (this->refreshSRI) { if (this->currentSRIs.find(streamID) != this->currentSRIs.end()) { @@ -529,7 +529,7 @@ namespace bulkio { catch(...){ } - TRACE_EXIT(this->logger, "OutStringPort::pushPacket" ); + TRACE_EXIT(this->logger ); } @@ -538,7 +538,7 @@ namespace bulkio { template <> void OutStringPort< XMLPortTraits >::pushPacket( const char *data, BULKIO::PrecisionUTCTime& T, bool EOS, const std::string& streamID) { - TRACE_ENTER(this->logger, "OutStringPort::pushPacket" ); + TRACE_ENTER(this->logger ); if (this->refreshSRI) { if (this->currentSRIs.find(streamID) != this->currentSRIs.end()) { pushSRI(this->currentSRIs[streamID].first); @@ -564,14 +564,14 @@ namespace bulkio { catch(...){ } - TRACE_EXIT(this->logger, "OutStringPort::pushPacket" ); + TRACE_EXIT(this->logger ); } template <> void OutStringPort< XMLPortTraits >::pushPacket( const char *data, bool EOS, const std::string& streamID) { - TRACE_ENTER(this->logger, "OutStringPort::pushPacket" ); + TRACE_ENTER(this->logger ); if (this->refreshSRI) { if (this->currentSRIs.find(streamID) != this->currentSRIs.end()) { pushSRI(this->currentSRIs[streamID].first); @@ -598,7 +598,7 @@ namespace bulkio { } - TRACE_EXIT(this->logger, "OutStringPort::pushPacket" ); + TRACE_EXIT(this->logger ); } diff --git a/libsrc/cpp/bulkio_p.h b/libsrc/cpp/bulkio_p.h index f32d314..ff5e5fc 100644 --- a/libsrc/cpp/bulkio_p.h +++ b/libsrc/cpp/bulkio_p.h @@ -8,13 +8,18 @@ #include #include #include +#include #include #include #include "bulkio.h" #define CORBA_MAX_TRANSFER_BYTES omniORB::giopMaxMsgSize() -#ifdef LOGGING +// undefine the logging statements provided by debug.h +// because they operate on static class loggers and BULKIO +// operates on class instance loggers. As long as this +// file remains private (i.e. not installed) we can safely +// undef without breaking other code #undef LOG_INFO #undef LOG_ERROR #undef LOG_WARN @@ -24,6 +29,10 @@ #undef TRACE_ENTER #undef TRACE_EXIT +#if LOGGING + +#if HAVE_LOG4CXX + #define LOG_INFO(logger, expr ) if ( logger ) LOG4CXX_INFO(logger, expr ); #define LOG_ERROR(logger, expr ) if ( logger ) LOG4CXX_ERROR(logger, expr ); #define LOG_WARN(logger, expr ) if ( logger ) LOG4CXX_WARN(logger, expr ); @@ -31,28 +40,38 @@ #define LOG_DEBUG(logger, expr ) if ( logger ) LOG4CXX_DEBUG(logger, expr ); #define LOG_TRACE(logger, expr ) if ( logger ) LOG4CXX_TRACE(logger, expr ); -#ifdef TRACE_ENABLE -#define TRACE_ENTER(logger, method) \ - LOG_TRACE(logger, "ENTER bulkio::" << method << " [" << __FILE__ << ":" << __LINE__ << "]") -#define TRACE_EXIT(logger, method) \ - LOG_TRACE(logger, "EXIT bulkio::" << method << " [" << __FILE__ << ":" << __LINE__ << "]") -#else -#define TRACE_ENTER(logger, method ) -#define TRACE_EXIT(logger, method ) +#else // !HAVE_LOG4CXX + +#define LOG_TRACE(logger, expr) _LOG(5, TRACE, logger, expr) +#define LOG_DEBUG(logger, expr) _LOG(4, DEBUG, logger, expr) +#define LOG_INFO(logger, expr) _LOG(3, INFO, logger, expr) +#define LOG_WARN(logger, expr) _LOG(2, WARN, logger, expr) +#define LOG_ERROR(logger, expr) _LOG(1, ERROR, logger, expr) +#define LOG_FATAL(logger, expr) _LOG(0, FATAL, logger, expr) + #endif -#else +#else // !LOGGING + #define LOG_INFO(logger, expr ) #define LOG_ERROR(logger, expr ) #define LOG_WARN(logger, expr ) #define LOG_FATAL(logger, expr ) #define LOG_DEBUG(logger, expr ) #define LOG_TRACE(logger, expr ) -#define TRACE_ENTER(logger, method ) -#define TRACE_EXIT(logger, method ) #endif +#ifdef TRACE_ENABLE +#define TRACE_ENTER(logger) \ + LOG_TRACE(logger, "ENTER bulkio::" << __PRETTY_FUNCTION__ << " [" << __FILE__ << ":" << __LINE__ << "]") +#define TRACE_EXIT(logger) \ + LOG_TRACE(logger, "EXIT bulkio::" << __PRETTY_FUNCTION__ << " [" << __FILE__ << ":" << __LINE__ << "]") +#else +#define TRACE_ENTER(logger) +#define TRACE_EXIT(logger) +#endif + namespace bulkio { diff --git a/libsrc/cpp/bulkio_sdds_port.cpp b/libsrc/cpp/bulkio_sdds_port.cpp index 25a6b86..9cb5f0a 100644 --- a/libsrc/cpp/bulkio_sdds_port.cpp +++ b/libsrc/cpp/bulkio_sdds_port.cpp @@ -30,10 +30,10 @@ namespace bulkio { bulkio::sri::Compare sriCmp, bulkio::time::Compare timeCmp): Port_Provides_base_impl(port_name), - attach_detach_callback(attach_detach_cb), + sriChanged(false), sri_cmp(sriCmp), time_cmp(timeCmp), - sriChanged(false) + attach_detach_callback(attach_detach_cb) { stats = new linkStatistics(port_name); } @@ -45,10 +45,10 @@ namespace bulkio { bulkio::sri::Compare sriCmp, bulkio::time::Compare timeCmp): Port_Provides_base_impl(port_name), - attach_detach_callback(attach_detach_cb), + sriChanged(false), sri_cmp(sriCmp), time_cmp(timeCmp), - sriChanged(false), + attach_detach_callback(attach_detach_cb), logger(logger) { stats = new linkStatistics(port_name); @@ -134,7 +134,7 @@ namespace bulkio { void InSDDSPort::pushSRI(const BULKIO::StreamSRI& H, const BULKIO::PrecisionUTCTime& T) { - TRACE_ENTER(logger, "InSDDSPort::pushSRI" ); + TRACE_ENTER(logger ); boost::mutex::scoped_lock lock(sriUpdateLock); bool foundSRI = false; @@ -167,7 +167,7 @@ namespace bulkio { (*sriIter).second = std::make_pair(H, T); } - TRACE_EXIT(logger, "InSDDSPort::pushSRI" ); + TRACE_EXIT(logger ); } @@ -180,7 +180,7 @@ namespace bulkio { throw (BULKIO::dataSDDS::AttachError, BULKIO::dataSDDS::StreamInputError) { - TRACE_ENTER(logger, "InSDDSPort::attach" ); + TRACE_ENTER(logger ); LOG_DEBUG( logger, "SDDS PORT: ATTACH REQUEST, STREAM/USER: " << stream.id << "/" << userid ); @@ -206,14 +206,14 @@ namespace bulkio { LOG_DEBUG( logger, "SDDS PORT, ATTACH COMPLETED, ID:" << attachId << " STREAM/USER" << stream.id << "/" << userid ); - TRACE_EXIT(logger, "InSDDSPort::attach" ); + TRACE_EXIT(logger ); return CORBA::string_dup(attachId.c_str()); } void InSDDSPort::detach(const char* attachId) { - TRACE_ENTER(logger, "InSDDSPort::detach" ); + TRACE_ENTER(logger ); LOG_DEBUG( logger, "SDDS PORT: DETACH REQUESTED, ID:" << attachId ); if ( attach_detach_callback ) { @@ -244,7 +244,7 @@ namespace bulkio { LOG_DEBUG( logger, "SDDS PORT: DETACH SUCCESS, ID:" << attachId ); - TRACE_EXIT(logger, "InSDDSPort::detach" ); + TRACE_EXIT(logger ); } @@ -432,7 +432,7 @@ namespace bulkio { void OutSDDSPort::connectPort(CORBA::Object_ptr connection, const char* connectionId) { - TRACE_ENTER(logger, "OutSDDSPort::connectPort" ); + TRACE_ENTER(logger ); { boost::mutex::scoped_lock lock(updatingPortsLock); // don't want to process while command information is coming in @@ -459,7 +459,7 @@ namespace bulkio { if ( _connectCB ) (*_connectCB)(connectionId); - TRACE_EXIT(logger, "OutSDDSPort::connectPort" ); + TRACE_EXIT(logger ); } void OutSDDSPort::disconnectPort(const char* connectionId) @@ -574,7 +574,7 @@ namespace bulkio { char* OutSDDSPort::attach(const BULKIO::SDDSStreamDefinition& stream, const char* userid) throw (BULKIO::dataSDDS::AttachError, BULKIO::dataSDDS::StreamInputError) { - TRACE_ENTER(logger, "OutSDDSPort::attach" ); + TRACE_ENTER(logger ); boost::mutex::scoped_lock lock(updatingPortsLock); std::string attachId; @@ -610,13 +610,13 @@ namespace bulkio { LOG_DEBUG(logger, "SDDS PORT: ATTACH COMPLETD ID:" << attachId << " NAME(user-id):" << user_id ); - TRACE_EXIT(logger, "OutSDDSPort::attach" ); + TRACE_EXIT(logger ); return CORBA::string_dup(attachId.c_str()); } void OutSDDSPort::detach(const char* attachId, const char* connectionId) { - TRACE_ENTER(logger, "OutSDDSPort::detach" ); + TRACE_ENTER(logger ); boost::mutex::scoped_lock lock(updatingPortsLock); Connections::iterator portIter = outConnections.begin(); AttachedPorts::iterator portIter2; @@ -634,13 +634,13 @@ namespace bulkio { } portIter++; } - TRACE_EXIT(logger, "OutSDDSPort::detach" ); + TRACE_EXIT(logger ); } void OutSDDSPort::detach(const char* attachId ) { - TRACE_ENTER(logger, "OutSDDSPort::detach" ); + TRACE_ENTER(logger ); boost::mutex::scoped_lock lock(updatingPortsLock); AttachedPorts::iterator port = attachedPorts.begin(); @@ -654,7 +654,7 @@ namespace bulkio { } port++; } - TRACE_EXIT(logger, "OutSDDSPort::detach" ); + TRACE_EXIT(logger ); } /* @@ -683,7 +683,7 @@ namespace bulkio { */ void OutSDDSPort::pushSRI(const BULKIO::StreamSRI& H, const BULKIO::PrecisionUTCTime& T) { - TRACE_ENTER(logger, "OutSDDSPort::pushSRI" ); + TRACE_ENTER(logger ); boost::mutex::scoped_lock lock(updatingPortsLock); // don't want to process while command information is coming in @@ -701,7 +701,7 @@ namespace bulkio { currentSRIs[std::string(H.streamID)] = std::make_pair(H, T); refreshSRI = false; - TRACE_EXIT(logger, "OutSDDSPort::pushSRI" ); + TRACE_EXIT(logger ); return; } diff --git a/libsrc/cpp/bulkio_time_helpers.cpp b/libsrc/cpp/bulkio_time_helpers.cpp index fb43028..7a5f526 100644 --- a/libsrc/cpp/bulkio_time_helpers.cpp +++ b/libsrc/cpp/bulkio_time_helpers.cpp @@ -30,6 +30,8 @@ namespace bulkio { tstamp.toff = 0.0; tstamp.twsec = wsec; tstamp.tfsec = fsec; + + return tstamp; } BULKIO::PrecisionUTCTime now() {