IBR-DTNSuite 0.6

ibrcommon/ibrcommon/Logger.h File Reference

#include <ibrcommon/thread/Queue.h>
#include <ibrcommon/thread/Thread.h>
#include <sys/time.h>
#include <iostream>
#include <sstream>
#include <list>
Include dependency graph for Logger.h:

Go to the source code of this file.

Classes

class  ibrcommon::Logger
class  ibrcommon::Logger::LoggerOutput
class  ibrcommon::Logger::LogWriter

Namespaces

namespace  ibrcommon

Defines

#define IBRCOMMON_LOGGER_LEVEL   ibrcommon::Logger::getVerbosity()
#define IBRCOMMON_LOGGER(level)
#define IBRCOMMON_LOGGER_DEBUG(verbosity)
#define IBRCOMMON_LOGGER_ENDL
#define IBRCOMMON_LOGGER_ex(level)   IBRCOMMON_LOGGER(level) << __PRETTY_FUNCTION__ << ": "
#define IBRCOMMON_LOGGER_DEBUG_ex(verbosity)   IBRCOMMON_LOGGER_DEBUG(verbosity) << __FILE__ << ":" << __LINE__ << " in " << __PRETTY_FUNCTION__ << ": "

Detailed Description

This file provides common logging facilities. For easy usage it provides some defines and is usable like a standard output stream. It is fully configurable, can log to all standard output streams and to the system syslog.

Provided tags: emergency, alert, critical, error, warning, notice, info

Example log message with info tag:

 IBRCOMMON_LOGGER(info) << "Some output..." << IBRCOMMON_ENDL;

Example debug with verbose level 42:

 IBRCOMMON_LOGGER_DEBUG(42) << "some debugging output" << IBRCOMMON_ENDL;

To check the current verbose level in the code use the IBRCOMMON_LOGGER_LEVEL define like this:

 if (IBRCOMMON_LOGGER_LEVEL > 42)
 {
                do something...
 }

Definition in file Logger.h.


Define Documentation

#define IBRCOMMON_LOGGER (   level)
Value:
{ \
                ibrcommon::Logger log = ibrcommon::Logger::level(); \
                log

Definition at line 64 of file Logger.h.

Referenced by __daemon_run(), ibrcommon::AES128Stream::AES128Stream(), dtn::net::IPNDAgent::bind(), dtn::daemon::DevNull::callbackBundleReceived(), dtn::daemon::CapsuleWorker::callbackBundleReceived(), ibrcommon::TmpFileBLOB::clear(), dtn::routing::BaseRouter::componentDown(), dtn::net::UDPConvergenceLayer::componentRun(), dtn::net::LOWPANConvergenceLayer::componentRun(), dtn::daemon::StatisticLogger::componentUp(), dtn::routing::BaseRouter::componentUp(), dtn::net::UDPConvergenceLayer::componentUp(), dtn::net::LOWPANConvergenceLayer::componentUp(), dtn::api::ApiServer::componentUp(), dtn::core::SQLiteConfigure::configure(), dtn::api::Client::connect(), ibrcommon::BLOB::copy(), dtn::core::SQLiteBundleStorage::count(), createBundleStorage(), createConvergenceLayers(), dtn::security::PayloadConfidentialBlock::decrypt(), dtn::security::PayloadConfidentialBlock::decryptPayload(), dtn::routing::EpidemicRoutingExtension::EpidemicRoutingExtension(), dtn::net::TCPConnection::eventBundleForwarded(), dtn::net::TCPConnection::eventBundleRefused(), dtn::core::SimpleBundleStorage::eventDataStorageRemoveFailed(), dtn::core::SimpleBundleStorage::eventDataStorageStoreFailed(), ibrcommon::vsocket::eventNotify(), dtn::routing::FloodRoutingExtension::FloodRoutingExtension(), dtn::security::SecurityKeyManager::get(), dtn::core::SQLiteBundleStorage::get(), dtn::core::SimpleBundleStorage::get(), dtn::core::MemoryBundleStorage::get(), dtn::security::SecurityKeyManager::initialize(), dtn::net::TCPConnection::initialize(), dtn::core::AbstractWorker::initialize(), dtn::api::ClientHandler::initialize(), dtn::net::IPNDAgent::IPNDAgent(), dtn::core::SimpleBundleStorage::iterateDataStorage(), ibrcommon::JoinableThread::join(), dtn::daemon::Configuration::Security::load(), dtn::daemon::Configuration::load(), dtn::routing::StaticRoutingExtension::StaticRoute::match(), dtn::routing::NeighborRoutingExtension::notify(), ibrcommon::TmpFileBLOB::open(), dtn::core::SQLiteBundleStorage::openDatabase(), dtn::routing::StaticRoutingExtension::StaticRoute::operator=(), ibrcommon::RSASHA256Stream::overflow(), dtn::core::BundleCore::processBlocks(), dtn::routing::BaseRouter::raiseEvent(), dtn::core::EventDebugger::raiseEvent(), ibrcommon::RSASHA256Stream::reset(), ibrcommon::RSASHA256Stream::RSASHA256Stream(), ibrcommon::NetLinkManager::run(), dtn::routing::EpidemicRoutingExtension::run(), dtn::net::TCPConnection::run(), dtn::api::ClientHandler::run(), setGlobalVars(), dtn::net::TCPConnection::setup(), sighandler(), dtn::core::SimpleBundleStorage::SimpleBundleStorage(), dtn::core::SQLiteBundleStorage::SQLiteBundleStorage(), dtn::daemon::IndependentComponent::startup(), dtn::routing::StaticRoutingExtension::StaticRoute::StaticRoute(), dtn::daemon::StatisticLogger::StatisticLogger(), dtn::core::SQLiteBundleStorage::store(), switchUser(), dtn::core::BundleCore::validate(), and dtn::core::SQLiteBundleStorage::~SQLiteBundleStorage().

#define IBRCOMMON_LOGGER_DEBUG (   verbosity)
Value:
if (ibrcommon::Logger::getVerbosity() >= verbosity) \
        { \
                ibrcommon::Logger log = ibrcommon::Logger::debug(verbosity); \
                log

Definition at line 69 of file Logger.h.

Referenced by __daemon_run(), dtn::routing::NeighborDatabase::NeighborEntry::acquireTransfer(), dtn::security::SecurityManager::auth(), dtn::daemon::EchoWorker::callbackBundleReceived(), dtn::daemon::Debugger::callbackBundleReceived(), dtn::routing::SummaryVector::commit(), dtn::net::HTTPConvergenceLayer::componentRun(), dtn::api::ApiServer::connectionDown(), dtn::api::ApiServer::connectionUp(), dtn::security::SecurityManager::decrypt(), dtn::security::SecurityManager::encrypt(), dtn::api::Client::eventConnectionDown(), dtn::net::TCPConnection::eventConnectionDown(), dtn::api::ClientHandler::eventConnectionDown(), dtn::api::ClientHandler::eventConnectionUp(), ibrcommon::vsocket::eventNotify(), ibrcommon::Thread::exec_thread(), dtn::routing::NeighborDatabase::NeighborEntry::expire(), dtn::security::SecurityManager::fastverify(), dtn::net::TCPConnection::finally(), dtn::api::ClientHandler::finally(), dtn::core::SQLiteBundleStorage::get(), dtn::security::SecurityBlock::isSecurityDestination(), dtn::security::SecurityBlock::isSecuritySource(), ibrcommon::MulticastSocket::joinGroup(), ibrcommon::NetLinkManagerEvent::NetLinkManagerEvent(), dtn::net::operator<<(), dtn::data::DefaultDeserializer::operator>>(), dtn::net::operator>>(), ibrcommon::tcpstream::overflow(), dtn::security::SecurityManager::prefetchKey(), dtn::net::TCPConvergenceLayer::queue(), dtn::net::ConnectionManager::queue(), dtn::core::EventDebugger::raiseEvent(), dtn::core::BundleCore::raiseEvent(), dtn::routing::NeighborDatabase::NeighborEntry::releaseTransfer(), ibrcommon::NetLinkManager::run(), dtn::routing::StaticRoutingExtension::run(), dtn::routing::NeighborRoutingExtension::run(), dtn::routing::FloodRoutingExtension::run(), dtn::routing::EpidemicRoutingExtension::run(), dtn::net::TCPConnection::run(), dtn::net::DownloadThread::run(), dtn::api::ClientHandler::run(), ibrcommon::vsocket::select(), ibrcommon::tcpstream::select(), ibrcommon::udpsocket::send(), ibrcommon::vsocket::sendto(), dtn::net::TCPConnection::shutdown(), dtn::api::ClientHandler::shutdown(), dtn::security::SecurityManager::sign(), dtn::core::sql_tracer(), dtn::core::SQLiteBundleStorage::store(), dtn::core::MemoryBundleStorage::store(), dtn::net::DiscoveryAgent::timeout(), ibrcommon::tcpstream::underflow(), dtn::security::BundleAuthenticationBlock::verify(), dtn::security::SecurityManager::verifyBAB(), dtn::security::SecurityManager::verifyPIB(), and dtn::api::Client::~Client().

#define IBRCOMMON_LOGGER_DEBUG_ex (   verbosity)    IBRCOMMON_LOGGER_DEBUG(verbosity) << __FILE__ << ":" << __LINE__ << " in " << __PRETTY_FUNCTION__ << ": "

Definition at line 83 of file Logger.h.

Referenced by dtn::security::MutualSerializer::getLength().

#define IBRCOMMON_LOGGER_ENDL
Value:
std::flush; \
                log.print(); \
        }

Definition at line 75 of file Logger.h.

Referenced by __daemon_run(), dtn::routing::NeighborDatabase::NeighborEntry::acquireTransfer(), dtn::security::SecurityBlock::addKey(), ibrcommon::AES128Stream::AES128Stream(), dtn::security::SecurityManager::auth(), dtn::net::IPNDAgent::bind(), dtn::daemon::EchoWorker::callbackBundleReceived(), dtn::daemon::DevNull::callbackBundleReceived(), dtn::daemon::Debugger::callbackBundleReceived(), dtn::daemon::CapsuleWorker::callbackBundleReceived(), ibrcommon::TmpFileBLOB::clear(), dtn::routing::SummaryVector::commit(), dtn::routing::BaseRouter::componentDown(), dtn::net::UDPConvergenceLayer::componentRun(), dtn::net::LOWPANConvergenceLayer::componentRun(), dtn::net::HTTPConvergenceLayer::componentRun(), dtn::daemon::StatisticLogger::componentUp(), dtn::routing::BaseRouter::componentUp(), dtn::net::UDPConvergenceLayer::componentUp(), dtn::net::LOWPANConvergenceLayer::componentUp(), dtn::api::ApiServer::componentUp(), dtn::core::SQLiteConfigure::configure(), dtn::api::Client::connect(), dtn::api::ApiServer::connectionDown(), dtn::api::ApiServer::connectionUp(), ibrcommon::BLOB::copy(), dtn::core::SQLiteBundleStorage::count(), createBundleStorage(), createConvergenceLayers(), dtn::security::SecurityBlock::createSaltAndKey(), dtn::security::PayloadConfidentialBlock::decrypt(), dtn::security::ExtensionSecurityBlock::decrypt(), dtn::security::SecurityManager::decrypt(), dtn::security::PayloadConfidentialBlock::decryptPayload(), dtn::security::SecurityManager::encrypt(), dtn::routing::EpidemicRoutingExtension::EpidemicRoutingExtension(), dtn::net::TCPConnection::eventBundleForwarded(), dtn::net::TCPConnection::eventBundleRefused(), dtn::api::Client::eventConnectionDown(), dtn::net::TCPConnection::eventConnectionDown(), dtn::api::ClientHandler::eventConnectionDown(), dtn::api::ClientHandler::eventConnectionUp(), dtn::core::SimpleBundleStorage::eventDataStorageRemoveFailed(), dtn::core::SimpleBundleStorage::eventDataStorageStoreFailed(), ibrcommon::vsocket::eventNotify(), ibrcommon::Thread::exec_thread(), dtn::routing::NeighborDatabase::NeighborEntry::expire(), dtn::security::SecurityManager::fastverify(), dtn::net::TCPConnection::finally(), dtn::api::ClientHandler::finally(), dtn::routing::FloodRoutingExtension::FloodRoutingExtension(), dtn::security::SecurityKeyManager::get(), dtn::core::SQLiteBundleStorage::get(), dtn::core::SimpleBundleStorage::get(), dtn::core::MemoryBundleStorage::get(), dtn::security::SecurityBlock::getKey(), dtn::security::MutualSerializer::getLength(), dtn::security::SecurityKeyManager::initialize(), dtn::net::TCPConnection::initialize(), dtn::core::AbstractWorker::initialize(), dtn::api::ClientHandler::initialize(), dtn::net::IPNDAgent::IPNDAgent(), dtn::security::SecurityBlock::isSecurityDestination(), dtn::security::SecurityBlock::isSecuritySource(), dtn::core::SimpleBundleStorage::iterateDataStorage(), ibrcommon::JoinableThread::join(), ibrcommon::MulticastSocket::joinGroup(), dtn::daemon::Configuration::Security::load(), dtn::daemon::Configuration::load(), dtn::routing::StaticRoutingExtension::StaticRoute::match(), ibrcommon::NetLinkManagerEvent::NetLinkManagerEvent(), dtn::routing::NeighborRoutingExtension::notify(), ibrcommon::TmpFileBLOB::open(), dtn::core::SQLiteBundleStorage::openDatabase(), dtn::net::operator<<(), dtn::routing::StaticRoutingExtension::StaticRoute::operator=(), dtn::data::DefaultDeserializer::operator>>(), dtn::net::operator>>(), ibrcommon::RSASHA256Stream::overflow(), ibrcommon::tcpstream::overflow(), dtn::security::SecurityManager::prefetchKey(), dtn::core::BundleCore::processBlocks(), dtn::net::TCPConvergenceLayer::queue(), dtn::net::ConnectionManager::queue(), dtn::routing::BaseRouter::raiseEvent(), dtn::core::EventDebugger::raiseEvent(), dtn::core::BundleCore::raiseEvent(), dtn::routing::NeighborDatabase::NeighborEntry::releaseTransfer(), ibrcommon::RSASHA256Stream::reset(), ibrcommon::RSASHA256Stream::RSASHA256Stream(), ibrcommon::NetLinkManager::run(), dtn::routing::StaticRoutingExtension::run(), dtn::routing::NeighborRoutingExtension::run(), dtn::routing::FloodRoutingExtension::run(), dtn::routing::EpidemicRoutingExtension::run(), dtn::net::TCPConnection::run(), dtn::net::DownloadThread::run(), dtn::api::ClientHandler::run(), ibrcommon::vsocket::select(), ibrcommon::tcpstream::select(), ibrcommon::udpsocket::send(), ibrcommon::vsocket::sendto(), setGlobalVars(), dtn::net::TCPConnection::setup(), dtn::net::TCPConnection::shutdown(), dtn::api::ClientHandler::shutdown(), sighandler(), dtn::security::SecurityManager::sign(), dtn::core::SimpleBundleStorage::SimpleBundleStorage(), dtn::core::sql_tracer(), dtn::core::SQLiteBundleStorage::SQLiteBundleStorage(), dtn::daemon::IndependentComponent::startup(), dtn::routing::StaticRoutingExtension::StaticRoute::StaticRoute(), dtn::daemon::StatisticLogger::StatisticLogger(), dtn::core::SQLiteBundleStorage::store(), dtn::core::MemoryBundleStorage::store(), switchUser(), dtn::net::DiscoveryAgent::timeout(), ibrcommon::tcpstream::underflow(), dtn::core::BundleCore::validate(), dtn::security::BundleAuthenticationBlock::verify(), dtn::security::SecurityManager::verifyBAB(), dtn::security::SecurityManager::verifyPIB(), dtn::api::Client::~Client(), and dtn::core::SQLiteBundleStorage::~SQLiteBundleStorage().

#define IBRCOMMON_LOGGER_ex (   level)    IBRCOMMON_LOGGER(level) << __PRETTY_FUNCTION__ << ": "
#define IBRCOMMON_LOGGER_LEVEL   ibrcommon::Logger::getVerbosity()