Cinder  0.9.1
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
cinder::log::LogManager Class Reference

#include <Log.h>

Public Member Functions

void restoreToDefault ()
 
void clearLoggers ()
 
void resetLogger (const LoggerRef &logger)
 
void addLogger (const LoggerRef &logger)
 
void removeLogger (const LoggerRef &logger)
 
template<typename LoggerT >
std::vector< std::shared_ptr< LoggerT > > getLoggers ()
 
std::vector< LoggerRefgetAllLoggers ()
 
std::mutex & getMutex () const
 
void write (const Metadata &meta, const std::string &text)
 
template<typename LoggerT , typename... Args>
std::shared_ptr< LoggerT > makeLogger (Args &&...args)
 
template<typename LoggerT , typename... Args>
std::shared_ptr< LoggerT > makeOrGetLogger (Args &&...args)
 

Static Public Member Functions

static LogManagerinstance ()
 
static void destroyInstance ()
 

Protected Member Functions

 LogManager ()
 

Protected Attributes

std::vector< LoggerRefmLoggers
 
std::mutex mMutex
 

Static Protected Attributes

static LogManagersInstance = new LogManager
 

Detailed Description

LogManager manages a stack of all active Loggers.

LogManager's default state contains a single LoggerConsole. LogManager allows for adding and removing Loggers via their pointer values.

Constructor & Destructor Documentation

cinder::log::LogManager::LogManager ( )
protected

Member Function Documentation

static LogManager* cinder::log::LogManager::instance ( )
static
static void cinder::log::LogManager::destroyInstance ( )
static

Destroys the shared instance. Useful to remove false positives with leak detectors like valgrind.

void cinder::log::LogManager::restoreToDefault ( )

Restores LogManager to its default state - a single LoggerConsole.

void cinder::log::LogManager::clearLoggers ( )

Removes all loggers from the stack.

void cinder::log::LogManager::resetLogger ( const LoggerRef logger)

Resets the current Logger stack so only logger exists.

void cinder::log::LogManager::addLogger ( const LoggerRef logger)

Adds logger to the current stack of loggers.

void cinder::log::LogManager::removeLogger ( const LoggerRef logger)

Remove logger to the current stack of loggers.

template<typename LoggerT >
std::vector< std::shared_ptr< LoggerT > > cinder::log::LogManager::getLoggers ( )

Returns a vector of Loggers of a specifc type.

std::vector< LoggerRef > cinder::log::LogManager::getAllLoggers ( )

Returns a vector of LoggerRef that contains all active loggers.

std::mutex& cinder::log::LogManager::getMutex ( ) const

Returns the mutex used for thread safe logging.

void cinder::log::LogManager::write ( const Metadata meta,
const std::string &  text 
)
template<typename LoggerT , typename... Args>
std::shared_ptr< LoggerT > cinder::log::LogManager::makeLogger ( Args &&...  args)
template<typename LoggerT , typename... Args>
std::shared_ptr< LoggerT > cinder::log::LogManager::makeOrGetLogger ( Args &&...  args)

Member Data Documentation

std::vector<LoggerRef> cinder::log::LogManager::mLoggers
protected
std::mutex cinder::log::LogManager::mMutex
mutableprotected
LogManager * cinder::log::LogManager::sInstance = new LogManager
staticprotected

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