IBR-DTNSuite 0.6

ibrcommon::Logger Class Reference

#include <Logger.h>

Collaboration diagram for ibrcommon::Logger:

List of all members.

Classes

class  LoggerOutput
class  LogWriter

Public Types

enum  LogOptions {
  LOG_NONE = 0, LOG_DATETIME = 1 << 0, LOG_HOSTNAME = 1 << 1, LOG_LEVEL = 1 << 2,
  LOG_TIMESTAMP = 1 << 3
}
enum  LogLevel {
  LOGGER_EMERG = 1 << 0, LOGGER_ALERT = 1 << 1, LOGGER_CRIT = 1 << 2, LOGGER_ERR = 1 << 3,
  LOGGER_WARNING = 1 << 4, LOGGER_NOTICE = 1 << 5, LOGGER_INFO = 1 << 6, LOGGER_DEBUG = 1 << 7,
  LOGGER_ALL = 0xff
}

Public Member Functions

 Logger (const Logger &)
virtual ~Logger ()
void print ()

Static Public Member Functions

static Logger emergency ()
static Logger alert ()
static Logger critical ()
static Logger error ()
static Logger warning ()
static Logger notice ()
static Logger info ()
static Logger debug (int verbosity)
static void setVerbosity (const int verbosity)
static int getVerbosity ()
static void addStream (std::ostream &stream, const unsigned char logmask=LOGGER_INFO, const unsigned char options=LOG_NONE)
static void enableSyslog (const char *name, int option, int facility, const unsigned char logmask=LOGGER_INFO)
static void enableAsync ()
static void stop ()

Detailed Description

The Logger class is the heart of the logging framework.

Definition at line 93 of file Logger.h.


Member Enumeration Documentation

Enumerator:
LOGGER_EMERG 
LOGGER_ALERT 
LOGGER_CRIT 
LOGGER_ERR 
LOGGER_WARNING 
LOGGER_NOTICE 
LOGGER_INFO 
LOGGER_DEBUG 
LOGGER_ALL 

Definition at line 105 of file Logger.h.

Enumerator:
LOG_NONE 
LOG_DATETIME 
LOG_HOSTNAME 
LOG_LEVEL 
LOG_TIMESTAMP 

Definition at line 96 of file Logger.h.


Constructor & Destructor Documentation

ibrcommon::Logger::Logger ( const Logger obj)

Definition at line 27 of file Logger.cpp.

Referenced by alert(), critical(), debug(), emergency(), error(), info(), notice(), and warning().

ibrcommon::Logger::~Logger ( ) [virtual]

Definition at line 32 of file Logger.cpp.


Member Function Documentation

void ibrcommon::Logger::addStream ( std::ostream &  stream,
const unsigned char  logmask = LOGGER_INFO,
const unsigned char  options = LOG_NONE 
) [static]

Add a standard output stream to the logging framework.

Parameters:
streamStandard output stream
logmaskThis mask specify what will be written to this stream. You can combine options with the or function.
optionsThis mask specify what will be added to each log message. You can combine options with the or function.

Definition at line 96 of file Logger.cpp.

Referenced by __daemon_run(), and sighandler().

Logger ibrcommon::Logger::alert ( ) [static]

Definition at line 41 of file Logger.cpp.

References Logger(), and LOGGER_ALERT.

Here is the call graph for this function:

Logger ibrcommon::Logger::critical ( ) [static]

Definition at line 46 of file Logger.cpp.

References Logger(), and LOGGER_CRIT.

Here is the call graph for this function:

Logger ibrcommon::Logger::debug ( int  verbosity) [static]

Definition at line 71 of file Logger.cpp.

References Logger(), and LOGGER_DEBUG.

Here is the call graph for this function:

Logger ibrcommon::Logger::emergency ( ) [static]

Definition at line 36 of file Logger.cpp.

References Logger(), and LOGGER_EMERG.

Here is the call graph for this function:

void ibrcommon::Logger::enableAsync ( ) [static]

enable the asynchronous logging This starts a seperate thread and a thread-safe queue to queue all logging messages first and call the log routine by the thread. This option is nessacary, if the stream to log into are not thread-safe by itself.

Definition at line 297 of file Logger.cpp.

Referenced by __daemon_run().

void ibrcommon::Logger::enableSyslog ( const char *  name,
int  option,
int  facility,
const unsigned char  logmask = LOGGER_INFO 
) [static]

Enable logging message to the system syslog.

Parameters:
nameThe naming prefix for all log messages.
optionSyslog specific options.
See also:
syslog.h
Parameters:
facilitySyslog facility.
See also:
syslog.h
Parameters:
logmaskThis mask specify what will be written to the syslog. You can combine options with the or function.

Definition at line 106 of file Logger.cpp.

Referenced by __daemon_run().

Logger ibrcommon::Logger::error ( ) [static]

Definition at line 51 of file Logger.cpp.

References Logger(), and LOGGER_ERR.

Here is the call graph for this function:

int ibrcommon::Logger::getVerbosity ( ) [static]

Get the global verbosity of the logger.

Returns:
The verbosity level as number. Higher value leads to more output.

Definition at line 86 of file Logger.cpp.

Logger ibrcommon::Logger::info ( ) [static]

Definition at line 66 of file Logger.cpp.

References Logger(), and LOGGER_INFO.

Here is the call graph for this function:

Logger ibrcommon::Logger::notice ( ) [static]

Definition at line 61 of file Logger.cpp.

References Logger(), and LOGGER_NOTICE.

Here is the call graph for this function:

void ibrcommon::Logger::print ( )

Print the log message to the log output (or queue it in the writer)

Definition at line 111 of file Logger.cpp.

void ibrcommon::Logger::setVerbosity ( const int  verbosity) [static]

Set the global verbosity of the logger.

Parameters:
verbosityA verbosity level as number. Higher value leads to more output.

Definition at line 76 of file Logger.cpp.

Referenced by __daemon_run(), and sighandler().

void ibrcommon::Logger::stop ( ) [static]

stops the asynchronous logging thread you need to call this before your programm is going down, if you have called enableAsync() before.

Definition at line 312 of file Logger.cpp.

Referenced by __daemon_run().

Logger ibrcommon::Logger::warning ( ) [static]

Definition at line 56 of file Logger.cpp.

References Logger(), and LOGGER_WARNING.

Here is the call graph for this function:


The documentation for this class was generated from the following files: