Classes | Namespaces | Defines

ibrcommon/ibrcommon/Logger.h File Reference

#include <ibrcommon/thread/Queue.h>
#include <ibrcommon/thread/Thread.h>
#include <iostream>
#include <sstream>
#include <list>
Include dependency graph for Logger.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

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

Namespaces

namespace  ibrcommon

Defines

#define IBRCOMMON_LOGGER_LEVEL   ibrcommon::Logger::getVerbosity()
#define IBRCOMMON_LOGGER(level)   { ibrcommon::Logger log = ibrcommon::Logger::level(); log
#define IBRCOMMON_LOGGER_DEBUG(verbosity)   if (ibrcommon::Logger::getVerbosity() >= verbosity) { ibrcommon::Logger log = ibrcommon::Logger::debug(verbosity); log
#define IBRCOMMON_LOGGER_ENDL   std::flush; log << ibrcommon::Logger::endl; }

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  )     { ibrcommon::Logger log = ibrcommon::Logger::level(); log

Definition at line 50 of file Logger.h.

Referenced by dtn::net::IPNDAgent::bind(), dtn::daemon::DevNull::callbackBundleReceived(), ibrcommon::TmpFileBLOB::clear(), dtn::routing::BaseRouter::componentDown(), dtn::net::UDPConvergenceLayer::componentRun(), dtn::net::LOWPANConvergenceLayer::componentRun(), dtn::core::SimpleBundleStorage::componentRun(), dtn::daemon::StatisticLogger::componentUp(), dtn::routing::BaseRouter::componentUp(), dtn::net::UDPConvergenceLayer::componentUp(), dtn::net::LOWPANConvergenceLayer::componentUp(), dtn::daemon::ApiServer::componentUp(), dtn::api::Client::connect(), createBundleStorage(), createConvergenceLayers(), ibrcommon::Logger::enableAsync(), dtn::routing::EpidemicRoutingExtension::EpidemicRoutingExtension(), dtn::net::TCPConvergenceLayer::TCPConnection::eventBundleForwarded(), dtn::net::TCPConvergenceLayer::TCPConnection::eventBundleRefused(), dtn::routing::FloodRoutingExtension::FloodRoutingExtension(), dtn::net::TCPConvergenceLayer::TCPConnection::initialize(), dtn::core::AbstractWorker::initialize(), dtn::daemon::ClientHandler::initialize(), dtn::net::IPNDAgent::IPNDAgent(), ibrcommon::JoinableThread::join(), dtn::daemon::Configuration::load(), main(), ibrcommon::TmpFileBLOB::open(), dtn::net::TCPConvergenceLayer::Server::queue(), dtn::routing::BaseRouter::raiseEvent(), dtn::core::EventDebugger::raiseEvent(), dtn::core::BundleCore::raiseEvent(), dtn::routing::FloodRoutingExtension::run(), dtn::routing::EpidemicRoutingExtension::run(), dtn::net::TCPConvergenceLayer::TCPConnection::run(), dtn::daemon::ClientHandler::run(), setGlobalVars(), sighandler(), dtn::core::SimpleBundleStorage::SimpleBundleStorage(), dtn::daemon::IndependentComponent::startup(), dtn::daemon::StatisticLogger::StatisticLogger(), switchUser(), and dtn::core::BundleCore::validate().

#define IBRCOMMON_LOGGER_DEBUG (   verbosity  )     if (ibrcommon::Logger::getVerbosity() >= verbosity) { ibrcommon::Logger log = ibrcommon::Logger::debug(verbosity); log
#define IBRCOMMON_LOGGER_ENDL   std::flush; log << ibrcommon::Logger::endl; }

Definition at line 52 of file Logger.h.

Referenced by dtn::net::operator>>(), and dtn::core::EventDebugger::raiseEvent().

#define IBRCOMMON_LOGGER_LEVEL   ibrcommon::Logger::getVerbosity()