Monero
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
el::Logger Class Reference

Represents a logger holding ID and configurations we need to write logs. More...

#include <easylogging++.h>

Inheritance diagram for el::Logger:
Inheritance graph
[legend]
Collaboration diagram for el::Logger:
Collaboration graph
[legend]

Public Member Functions

 Logger (const std::string &id, base::LogStreamsReferenceMap *logStreamsReference)
 
 Logger (const std::string &id, const Configurations &configurations, base::LogStreamsReferenceMap *logStreamsReference)
 
 Logger (const Logger &logger)
 
Loggeroperator= (const Logger &logger)
 
virtual ~Logger (void)
 
virtual void log (el::base::type::ostream_t &os) const
 
void configure (const Configurations &configurations)
 Configures the logger using specified configurations. More...
 
void reconfigure (void)
 Reconfigures logger using existing configurations. More...
 
const std::string & id (void) const
 
const std::string & parentApplicationName (void) const
 
void setParentApplicationName (const std::string &parentApplicationName)
 
Configurationsconfigurations (void)
 
base::TypedConfigurationstypedConfigurations (void)
 
void flush (void)
 Flushes logger to sync all log files for all levels. More...
 
void flush (Level level, base::type::fstream_t *fs)
 
bool isFlushNeeded (Level level)
 
LogBuilderlogBuilder (void) const
 
void setLogBuilder (const LogBuilderPtr &logBuilder)
 
bool enabled (Level level) const
 
- Public Member Functions inherited from el::base::threading::ThreadSafe
virtual void acquireLock (void) ELPP_FINAL
 
virtual void releaseLock (void) ELPP_FINAL
 
virtual base::threading::Mutexlock (void) ELPP_FINAL
 
- Public Member Functions inherited from el::Loggable
virtual ~Loggable (void)
 

Static Public Member Functions

static bool isValidId (const std::string &id)
 

Private Member Functions

 Logger (void)
 
void initUnflushedCount (void)
 
base::type::stringstream_tstream (void)
 
void resolveLoggerFormatSpec (void) const
 

Private Attributes

std::string m_id
 
base::TypedConfigurationsm_typedConfigurations
 
base::type::stringstream_t m_stream
 
std::string m_parentApplicationName
 
bool m_isConfigured
 
Configurations m_configurations
 
std::unordered_map< Level, unsigned int > m_unflushedCount
 
base::LogStreamsReferenceMapm_logStreamsReference
 
LogBuilderPtr m_logBuilder
 

Friends

class el::LogMessage
 
class el::Loggers
 
class el::Helpers
 
class el::base::RegisteredLoggers
 
class el::base::DefaultLogDispatchCallback
 
class el::base::MessageBuilder
 
class el::base::Writer
 
class el::base::PErrorWriter
 
class el::base::Storage
 
class el::base::PerformanceTracker
 
class el::base::LogDispatcher
 

Additional Inherited Members

- Protected Member Functions inherited from el::base::threading::ThreadSafe
 ThreadSafe (void)
 
virtual ~ThreadSafe (void)
 

Detailed Description

Represents a logger holding ID and configurations we need to write logs.

This class does not write logs itself instead its used by writer to read configuations from.

Constructor & Destructor Documentation

◆ Logger() [1/4]

el::Logger::Logger ( const std::string &  id,
base::LogStreamsReferenceMap logStreamsReference 
)

◆ Logger() [2/4]

el::Logger::Logger ( const std::string &  id,
const Configurations configurations,
base::LogStreamsReferenceMap logStreamsReference 
)

◆ Logger() [3/4]

el::Logger::Logger ( const Logger logger)

◆ ~Logger()

virtual el::Logger::~Logger ( void  )
inlinevirtual

◆ Logger() [4/4]

el::Logger::Logger ( void  )
private

Member Function Documentation

◆ configurations()

Configurations* el::Logger::configurations ( void  )
inline

◆ configure()

void el::Logger::configure ( const Configurations configurations)

Configures the logger using specified configurations.

◆ enabled()

bool el::Logger::enabled ( Level  level) const
inline

◆ flush() [1/2]

void el::Logger::flush ( void  )

Flushes logger to sync all log files for all levels.

◆ flush() [2/2]

void el::Logger::flush ( Level  level,
base::type::fstream_t fs 
)

◆ id()

const std::string& el::Logger::id ( void  ) const
inline

◆ initUnflushedCount()

void el::Logger::initUnflushedCount ( void  )
private

◆ isFlushNeeded()

bool el::Logger::isFlushNeeded ( Level  level)
inline

◆ isValidId()

bool el::Logger::isValidId ( const std::string &  id)
static

◆ log()

virtual void el::Logger::log ( el::base::type::ostream_t os) const
inlinevirtual

Implements el::Loggable.

◆ logBuilder()

LogBuilder* el::Logger::logBuilder ( void  ) const
inline

◆ operator=()

Logger & el::Logger::operator= ( const Logger logger)

◆ parentApplicationName()

const std::string& el::Logger::parentApplicationName ( void  ) const
inline

◆ reconfigure()

void el::Logger::reconfigure ( void  )

Reconfigures logger using existing configurations.

◆ resolveLoggerFormatSpec()

void el::Logger::resolveLoggerFormatSpec ( void  ) const
private

◆ setLogBuilder()

void el::Logger::setLogBuilder ( const LogBuilderPtr logBuilder)
inline

◆ setParentApplicationName()

void el::Logger::setParentApplicationName ( const std::string &  parentApplicationName)
inline

◆ stream()

base::type::stringstream_t& el::Logger::stream ( void  )
inlineprivate

◆ typedConfigurations()

base::TypedConfigurations* el::Logger::typedConfigurations ( void  )
inline

Friends And Related Function Documentation

◆ el::base::DefaultLogDispatchCallback

◆ el::base::LogDispatcher

friend class el::base::LogDispatcher
friend

◆ el::base::MessageBuilder

friend class el::base::MessageBuilder
friend

◆ el::base::PerformanceTracker

friend class el::base::PerformanceTracker
friend

◆ el::base::PErrorWriter

friend class el::base::PErrorWriter
friend

◆ el::base::RegisteredLoggers

friend class el::base::RegisteredLoggers
friend

◆ el::base::Storage

friend class el::base::Storage
friend

◆ el::base::Writer

friend class el::base::Writer
friend

◆ el::Helpers

friend class el::Helpers
friend

◆ el::Loggers

friend class el::Loggers
friend

◆ el::LogMessage

friend class el::LogMessage
friend

Member Data Documentation

◆ m_configurations

Configurations el::Logger::m_configurations
private

◆ m_id

std::string el::Logger::m_id
private

◆ m_isConfigured

bool el::Logger::m_isConfigured
private

◆ m_logBuilder

LogBuilderPtr el::Logger::m_logBuilder
private

◆ m_logStreamsReference

base::LogStreamsReferenceMap* el::Logger::m_logStreamsReference
private

◆ m_parentApplicationName

std::string el::Logger::m_parentApplicationName
private

◆ m_stream

base::type::stringstream_t el::Logger::m_stream
private

◆ m_typedConfigurations

base::TypedConfigurations* el::Logger::m_typedConfigurations
private

◆ m_unflushedCount

std::unordered_map<Level, unsigned int> el::Logger::m_unflushedCount
private

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