log4cplus
2.1.0
|
This is the central class in the log4cplus package. More...
#include <logger.h>
Public Member Functions | |
void | assertion (bool assertionVal, const log4cplus::tstring &msg) const |
If assertionVal parameter is false , then logs msg with FATAL_LOG_LEVEL log level. More... | |
void | closeNestedAppenders () const |
Close all attached appenders implementing the AppenderAttachable interface. More... | |
bool | isEnabledFor (LogLevel ll) const |
Check whether this logger is enabled for a given LogLevel passed as parameter. More... | |
void | log (LogLevel ll, const log4cplus::tstring &message, const char *file=LOG4CPLUS_CALLER_FILE(), int line=LOG4CPLUS_CALLER_LINE(), const char *function=LOG4CPLUS_CALLER_FUNCTION()) const |
This generic form is intended to be used by wrappers. More... | |
void | log (spi::InternalLoggingEvent const &) const |
void | forcedLog (LogLevel ll, const log4cplus::tstring &message, const char *file=LOG4CPLUS_CALLER_FILE(), int line=LOG4CPLUS_CALLER_LINE(), const char *function=LOG4CPLUS_CALLER_FUNCTION()) const |
This method creates a new logging event and logs the event without further checks. More... | |
void | forcedLog (spi::InternalLoggingEvent const &) const |
void | callAppenders (const spi::InternalLoggingEvent &event) const |
Call the appenders in the hierrachy starting at this . More... | |
LogLevel | getChainedLogLevel () const |
Starting from this logger, search the logger hierarchy for a "set" LogLevel and return it. More... | |
LogLevel | getLogLevel () const |
Returns the assigned LogLevel, if any, for this Logger. More... | |
void | setLogLevel (LogLevel ll) |
Set the LogLevel of this Logger. More... | |
Hierarchy & | getHierarchy () const |
Return the the Hierarchy where this Logger instance is attached. More... | |
log4cplus::tstring const & | getName () const |
Return the logger name. More... | |
bool | getAdditivity () const |
Get the additivity flag for this Logger instance. More... | |
void | setAdditivity (bool additive) |
Set the additivity flag for this Logger instance. More... | |
virtual void | addAppender (SharedAppenderPtr newAppender) |
Add an appender. More... | |
virtual SharedAppenderPtrList | getAllAppenders () |
Get all previously added appenders as an Enumeration. More... | |
virtual SharedAppenderPtr | getAppender (const log4cplus::tstring &name) |
Get an appender by name. More... | |
virtual void | removeAllAppenders () |
Remove all previously added appenders. More... | |
virtual void | removeAppender (SharedAppenderPtr appender) |
Remove the appender passed as parameter from the list of appenders. More... | |
virtual void | removeAppender (const log4cplus::tstring &name) |
Remove the appender with the name passed as parameter from the list of appenders. More... | |
Logger () LOG4CPLUS_NOEXCEPT | |
Logger (const Logger &rhs) LOG4CPLUS_NOEXCEPT | |
Logger & | operator= (const Logger &rhs) LOG4CPLUS_NOEXCEPT |
Logger (Logger &&rhs) LOG4CPLUS_NOEXCEPT | |
Logger & | operator= (Logger &&rhs) LOG4CPLUS_NOEXCEPT |
virtual | ~Logger () |
void | swap (Logger &) LOG4CPLUS_NOEXCEPT |
Logger | getParent () const |
Used to retrieve the parent of this Logger in the Logger tree. More... | |
Public Member Functions inherited from log4cplus::spi::AppenderAttachable | |
virtual | ~AppenderAttachable ()=0 |
Static Public Member Functions | |
static bool | exists (const log4cplus::tstring &name) |
Returns true if the named logger exists (in the default hierarchy). More... | |
static LoggerList | getCurrentLoggers () |
static Hierarchy & | getDefaultHierarchy () |
Return the default Hierarchy instance. More... | |
static Logger | getInstance (const log4cplus::tstring &name) |
Retrieve a logger with name name . More... | |
static Logger | getInstance (const log4cplus::tstring &name, spi::LoggerFactory &factory) |
Like getInstance() except that the type of logger instantiated depends on the type returned by the {} method of the factory parameter. More... | |
static Logger | getRoot () |
Return the root of the default logger hierrachy. More... | |
static void | shutdown () |
Calling this method will safely close and remove all appenders in all the loggers including root contained in the default hierachy. More... | |
Protected Attributes | |
spi::LoggerImpl * | value = nullptr |
This is a pointer to the implementation class. More... | |
Friends | |
class | log4cplus::spi::LoggerImpl |
class | log4cplus::Hierarchy |
class | log4cplus::HierarchyLocker |
class | log4cplus::DefaultLoggerFactory |
This is the central class in the log4cplus package.
One of the distintive features of log4cplus are hierarchical loggers and their evaluation.
log4cplus::Logger::Logger | ( | ) |
log4cplus::Logger::Logger | ( | const Logger & | rhs | ) |
log4cplus::Logger::Logger | ( | Logger && | rhs | ) |
|
virtual |
|
virtual |
Add an appender.
Implements log4cplus::spi::AppenderAttachable.
void log4cplus::Logger::assertion | ( | bool | assertionVal, |
const log4cplus::tstring & | msg | ||
) | const |
If assertionVal
parameter is false
, then logs msg
with FATAL_LOG_LEVEL log level.
assertionVal | Truth value of assertion condition. |
msg | The message to print if assertion is false. |
void log4cplus::Logger::callAppenders | ( | const spi::InternalLoggingEvent & | event | ) | const |
Call the appenders in the hierrachy starting at this
.
If no appenders could be found, emit a warning.
This method calls all the appenders inherited from the hierarchy circumventing any evaluation of whether to log or not to log the particular log request.
event | the event to log. |
void log4cplus::Logger::closeNestedAppenders | ( | ) | const |
Close all attached appenders implementing the AppenderAttachable interface.
|
static |
Returns true
if the named logger exists (in the default hierarchy).
name | The name of the logger to search for. |
void log4cplus::Logger::forcedLog | ( | LogLevel | ll, |
const log4cplus::tstring & | message, | ||
const char * | file = LOG4CPLUS_CALLER_FILE() , |
||
int | line = LOG4CPLUS_CALLER_LINE() , |
||
const char * | function = LOG4CPLUS_CALLER_FUNCTION() |
||
) | const |
This method creates a new logging event and logs the event without further checks.
Referenced by log4cplus::TraceLogger::TraceLogger(), and log4cplus::TraceLogger::~TraceLogger().
void log4cplus::Logger::forcedLog | ( | spi::InternalLoggingEvent const & | ) | const |
bool log4cplus::Logger::getAdditivity | ( | ) | const |
Get the additivity flag for this Logger instance.
|
virtual |
Get all previously added appenders as an Enumeration.
Implements log4cplus::spi::AppenderAttachable.
|
virtual |
Get an appender by name.
Implements log4cplus::spi::AppenderAttachable.
LogLevel log4cplus::Logger::getChainedLogLevel | ( | ) | const |
Starting from this logger, search the logger hierarchy for a "set" LogLevel and return it.
Otherwise, return the LogLevel of the root logger.
The Logger class is designed so that this method executes as quickly as possible.
|
static |
|
static |
Return the default Hierarchy instance.
Hierarchy& log4cplus::Logger::getHierarchy | ( | ) | const |
|
static |
Retrieve a logger with name name
.
If the named logger already exists, then the existing instance will be returned. Otherwise, a new instance is created.
By default, loggers do not have a set LogLevel but inherit it from the hierarchy. This is one of the central features of log4cplus.
name | The name of the logger to retrieve. |
Referenced by log4cplus::detail::macros_get_logger().
|
static |
Like getInstance() except that the type of logger instantiated depends on the type returned by the {} method of the factory
parameter.
This method is intended to be used by sub-classes.
name | The name of the logger to retrieve. |
factory | A spi::LoggerFactory implementation that will actually create a new Instance. |
LogLevel log4cplus::Logger::getLogLevel | ( | ) | const |
Returns the assigned LogLevel, if any, for this Logger.
NOT_SET_LOG_LEVEL
. log4cplus::tstring const& log4cplus::Logger::getName | ( | ) | const |
Return the logger name.
Logger log4cplus::Logger::getParent | ( | ) | const |
|
static |
Return the root of the default logger hierrachy.
The root logger is always instantiated and available. It's name is "root".
Nevertheless, calling Logger.getInstance("root") does not retrieve the root logger but a logger just under root named "root".
bool log4cplus::Logger::isEnabledFor | ( | LogLevel | ll | ) | const |
Check whether this logger is enabled for a given LogLevel passed as parameter.
ll
. Referenced by log4cplus::TraceLogger::TraceLogger(), and log4cplus::TraceLogger::~TraceLogger().
void log4cplus::Logger::log | ( | LogLevel | ll, |
const log4cplus::tstring & | message, | ||
const char * | file = LOG4CPLUS_CALLER_FILE() , |
||
int | line = LOG4CPLUS_CALLER_LINE() , |
||
const char * | function = LOG4CPLUS_CALLER_FUNCTION() |
||
) | const |
This generic form is intended to be used by wrappers.
void log4cplus::Logger::log | ( | spi::InternalLoggingEvent const & | ) | const |
|
virtual |
Remove all previously added appenders.
Implements log4cplus::spi::AppenderAttachable.
|
virtual |
Remove the appender with the name passed as parameter from the list of appenders.
Implements log4cplus::spi::AppenderAttachable.
|
virtual |
Remove the appender passed as parameter from the list of appenders.
Implements log4cplus::spi::AppenderAttachable.
void log4cplus::Logger::setAdditivity | ( | bool | additive | ) |
Set the additivity flag for this Logger instance.
|
static |
Calling this method will safely close and remove all appenders in all the loggers including root contained in the default hierachy.
Some appenders such as SocketAppender need to be closed before the application exits. Otherwise, pending logging events might be lost.
The shutdown
method is careful to close nested appenders before closing regular appenders. This is allows configurations where a regular appender is attached to a logger and again to a nested appender.
void log4cplus::Logger::swap | ( | Logger & | ) |
|
friend |
|
friend |
|
friend |
|
friend |
|
protected |