Monero
Loading...
Searching...
No Matches
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:
Collaboration diagram for el::Logger:

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.
void reconfigure (void)
 Reconfigures logger using existing configurations.
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.
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.

@detail 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 ( Level level,
base::type::fstream_t * fs )

◆ flush() [2/2]

void el::Logger::flush ( void )

Flushes logger to sync all log files for all levels.

◆ 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

◆ 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: