MI - Fimex
Public Types | Public Member Functions | Static Public Member Functions | List of all members
MetNoFimex::Logger Class Reference

#include <fimex/Logger.h>

Public Types

enum  LogLevel {
  OFF = 1000, FATAL = 900, ERROR = 800, WARN = 700,
  INFO = 600, DEBUG = 500
}
 
enum  LogClass { LOG2STDERR = 0, LOG4CPP = 1 }
 

Public Member Functions

 Logger (const std::string &className)
 
 ~Logger ()
 
bool isEnabledFor (LogLevel level)
 
void reset ()
 
void forcedLog (LogLevel level, const std::string &message, const char *filename, unsigned int lineNumber)
 

Static Public Member Functions

static bool setClass (LogClass logClass)
 
static bool setClass (LoggerClass *lc)
 

Detailed Description

Interface and default (dummy) implementation for a logger. Don't use this class directly, but retrieve a pointer to it via the getLogger function and log with the LOG4FIMEX macro.

To switch to another logger-implementation, e.g. log4cpp, use setClass() and eventually implement the Logger-initialization (e.g. for log4cpp via filename)

Member Enumeration Documentation

different logger eventually enabled in fimex

Enumerator
LOG2STDERR 
LOG4CPP 

different log levels

Enumerator
OFF 
FATAL 
ERROR 
WARN 
INFO 
DEBUG 

Constructor & Destructor Documentation

MetNoFimex::Logger::Logger ( const std::string className)
MetNoFimex::Logger::~Logger ( )

Member Function Documentation

void MetNoFimex::Logger::forcedLog ( LogLevel  level,
const std::string message,
const char *  filename,
unsigned int  lineNumber 
)

log for this loglevel

Parameters
levellog-level to log
messagelog-message
filenamebest retrieved with FILE
lineNumberbest retrieved with LINE
bool MetNoFimex::Logger::isEnabledFor ( LogLevel  level)

check if the loglevel of this logger is active

void MetNoFimex::Logger::reset ( )

Delete the present logger implementation.

static bool MetNoFimex::Logger::setClass ( LogClass  logClass)
static

choose a loggerclass in fimex (default is STDERR)

Parameters
logClass
Returns
false if the logClass is not compiled into fimex
static bool MetNoFimex::Logger::setClass ( LoggerClass lc)
static

Choose a loggerclass in fimex

Changing LoggerClass after invoking any functions in the library (more precisely, after any creation of LoggerImpl objects), is experimental.

Ownership of lc is transferred. To destroy the LoggerClass, e.g. before exit, it is necessary to call setClass(0).

Parameters
lc,ownershipis transferred; deletes the present loggerclass instance
Returns
false if lc is null

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