Classes | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Static Protected Attributes | Friends

ibrcommon::Logger Class Reference

#include <Logger.h>

Collaboration diagram for ibrcommon::Logger:
Collaboration graph
[legend]

List of all members.

Classes

class  endl_flag
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 flush ()

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 ()

Static Public Attributes

static endl_flag endl

Static Protected Attributes

static ibrcommon::Queue< Logger_queue

Friends

Loggeroperator<< (Logger &logger, endl_flag &)

Detailed Description

The Logger class is the heart of the logging framework.

Definition at line 61 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 73 of file Logger.h.

Enumerator:
LOG_NONE 
LOG_DATETIME 
LOG_HOSTNAME 
LOG_LEVEL 
LOG_TIMESTAMP 

Definition at line 64 of file Logger.h.


Constructor & Destructor Documentation

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

Definition at line 35 of file Logger.cpp.

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

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

Definition at line 40 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:
stream Standard output stream
logmask This mask specify what will be written to this stream. You can combine options with the or function.
options This mask specify what will be added to each log message. You can combine options with the or function.

Definition at line 94 of file Logger.cpp.

Referenced by main(), and sighandler().

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

Definition at line 49 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 54 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 79 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 44 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 280 of file Logger.cpp.

References error(), IBRCOMMON_LOGGER, and ibrcommon::Exception::what().

Referenced by main().

Here is the call graph for this function:

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:
name The naming prefix for all log messages.
option Syslog specific options.
See also:
syslog.h
Parameters:
facility Syslog facility.
See also:
syslog.h
Parameters:
logmask This mask specify what will be written to the syslog. You can combine options with the or function.

Definition at line 99 of file Logger.cpp.

Referenced by main().

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

Definition at line 59 of file Logger.cpp.

References Logger(), and LOGGER_ERR.

Referenced by enableAsync().

Here is the call graph for this function:

void ibrcommon::Logger::flush (  ) 

Flush the log message to the output/syslog.

Definition at line 107 of file Logger.cpp.

References LOGGER_ALERT, LOGGER_CRIT, LOGGER_DEBUG, LOGGER_EMERG, LOGGER_ERR, LOGGER_INFO, LOGGER_NOTICE, and LOGGER_WARNING.

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 89 of file Logger.cpp.

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

Definition at line 74 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 69 of file Logger.cpp.

References Logger(), and LOGGER_NOTICE.

Here is the call graph for this function:

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

Set the global verbosity of the logger.

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

Definition at line 84 of file Logger.cpp.

Referenced by main(), 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 290 of file Logger.cpp.

Referenced by main().

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

Definition at line 64 of file Logger.cpp.

References Logger(), and LOGGER_WARNING.

Here is the call graph for this function:


Friends And Related Function Documentation

Logger& operator<< ( Logger logger,
endl_flag  
) [friend]

Definition at line 163 of file Logger.h.


Member Data Documentation

Definition at line 177 of file Logger.h.

Definition at line 144 of file Logger.h.


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