Fluid Dynamics Library
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Static Protected Attributes
fdl::Logger Class Reference

#include <logger.h>

List of all members.

Public Types

enum  LEVEL {
  ERROR = 1, WARN = 2, INFO = 4, DEBUG = 8,
  DEV = 16
}

Public Member Functions

 Logger ()
 ~Logger ()
std::ostringstream & log (Logger::LEVEL level)
std::ostringstream & log (Logger::LEVEL level, const std::string &identity)

Static Public Member Functions

static bool canLog (Logger::LEVEL level)
static const int setLevel (const int level)
static const int getLevel ()
static void pushLevel (Logger::LEVEL level)
static void popLevel ()
static void setIdentity (const std::string &identity)
static const std::string getIdentity ()
static void registerWriter (LogWriter *writer)
static void unRegisterWriter (LogWriter *writer)
static std::string currentTime (const char *format="%d-%b-%Y %H:%M:%S")
static std::string loggerLevelAsString (Logger::LEVEL level)
static Logger::LEVEL stringAsLoggerLevel (std::string level_string)
static int levelAndBelow (Logger::LEVEL level)

Static Public Attributes

static const int LEVEL_FLOOR = Logger::ERROR
static const int ALL = 255
static const int DEFAULT_REPORTING_LEVEL = 31

Protected Member Functions

void writeMessage ()

Protected Attributes

std::string * m_local_identity
std::ostringstream m_message
Logger::LEVEL m_messageLevel

Static Protected Attributes

static int _level = Logger::DEFAULT_REPORTING_LEVEL
static std::vector< int > _levelStack
static const int _maxWriters = 10
static std::list< LogWriter * > _registeredWriters
static std::string _identity = "fdlLogger"

Detailed Description

Logger is a class designed for making simple, robust, cross platform logging that is thread-safe and can be used for stdout or a log file.

Definition at line 58 of file logger.h.


Constructor & Destructor Documentation

fdl::Logger::Logger ( )

Constructor.

Definition at line 31 of file logger.cpp.

fdl::Logger::~Logger ( )

Destructor.

Definition at line 39 of file logger.cpp.


Member Function Documentation

bool fdl::Logger::canLog ( Logger::LEVEL  compare) [static]

Determines whether or not the level is currently being logged.

Parameters:
comparelogger level to check
Returns:
a boolean flag

Definition at line 171 of file logger.cpp.

std::string fdl::Logger::currentTime ( const char *  format = "%d-%b-%Y %H:%M:%S") [static]

Returns the current time using the Boost dateTime library given an input format.

Parameters:
formatthe dateTime format for the time
Returns:
a string representation of the time using the input format

Definition at line 239 of file logger.cpp.

const std::string fdl::Logger::getIdentity ( ) [static]

Returns the identity value of the logger

Returns:
the string name of the logger

Definition at line 62 of file logger.cpp.

const int fdl::Logger::getLevel ( ) [static]

Returns the logger level

Returns:
level

Definition at line 100 of file logger.cpp.

int fdl::Logger::levelAndBelow ( Logger::LEVEL  level) [static]

Computes a logger level bit mask that will cover the parameter level and everything more important

Parameters:
levela logger level mask
Returns:
the logging level

Definition at line 333 of file logger.cpp.

std::ostringstream & fdl::Logger::log ( Logger::LEVEL  level,
const std::string &  identity 
)

Assigns the local identity of a given message and stores it to be logged at the next write step.

Parameters:
levela logger level
identityfor the message

Definition at line 204 of file logger.cpp.

std::ostringstream & fdl::Logger::log ( Logger::LEVEL  level)

Stores the input message to be logged at the next write step.

Parameters:
levela logger level mask

Definition at line 190 of file logger.cpp.

std::string fdl::Logger::loggerLevelAsString ( Logger::LEVEL  level) [static]

Returns a string representation of the logger level

Parameters:
levelthe logging level
Returns:
a string for the level

Definition at line 258 of file logger.cpp.

void fdl::Logger::popLevel ( ) [static]

Removes the last logger level on the stack.

Definition at line 154 of file logger.cpp.

void fdl::Logger::pushLevel ( Logger::LEVEL  level) [static]

Adds a level to the logger level stack.

Parameters:
levelto be added

Definition at line 141 of file logger.cpp.

void fdl::Logger::registerWriter ( LogWriter writer) [static]

Registers a logwriter, thus adding it to the logging process

Parameters:
writerto be registered

Definition at line 111 of file logger.cpp.

void fdl::Logger::setIdentity ( const std::string &  identity) [static]

Sets the new identity of the logger

Parameters:
identitynew string value for the logger

Definition at line 52 of file logger.cpp.

const int fdl::Logger::setLevel ( const int  level) [static]

Sets the level of the logger

Parameters:
levelthe new logger level
Returns:
the old level

Definition at line 74 of file logger.cpp.

Logger::LEVEL fdl::Logger::stringAsLoggerLevel ( std::string  level_string) [static]

Returns a logger level given a string representation of an existing level

Parameters:
astring for the level
Returns:
the logging level

Definition at line 297 of file logger.cpp.

void fdl::Logger::unRegisterWriter ( LogWriter writer) [static]

Unregisters a logwriter, thus removing it from the logging process

Parameters:
writerto be unregistered

Definition at line 129 of file logger.cpp.

void fdl::Logger::writeMessage ( ) [protected]

Iterates through the logwriter stack and calls write() on each of them.

Definition at line 217 of file logger.cpp.


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