#include <Logger.hpp>
Inheritance diagram for BLOCXX_NAMESPACE::Logger:

Public Types | |
| enum | ELoggerErrorCodes { E_UNKNOWN_LOG_APPENDER_TYPE, E_INVALID_MAX_FILE_SIZE, E_INVALID_MAX_BACKUP_INDEX } |
Public Member Functions | |
| void | logFatalError (const String &message, const char *filename=0, int fileline=-1, const char *methodname=0) const |
| Log message with a fatal error category and the default component. | |
| void | logError (const String &message, const char *filename=0, int fileline=-1, const char *methodname=0) const |
| If getLogLevel() >= E_ERROR_LEVEL, Log message with an error category and the default component. | |
| void | logInfo (const String &message, const char *filename=0, int fileline=-1, const char *methodname=0) const |
| If getLogLevel() >= E_INFO_LEVEL, Log info. | |
| void | logDebug (const String &message, const char *filename=0, int fileline=-1, const char *methodname=0) const |
| If getLogLevel() >= E_DEBUG_LEVEL, Log debug info. | |
| void | logMessage (const String &component, const String &category, const String &message) const |
| Log a message using the specified component and category The current log level is ignored. | |
| void | logMessage (const String &component, const String &category, const String &message, const char *filename, int fileline, const char *methodname) const |
| Log a message using the specified component and category The current log level is ignored. | |
| void | logMessage (const String &category, const String &message) const |
| Log a message using the default component and specified category. | |
| void | logMessage (const String &category, const String &message, const char *filename, int fileline, const char *methodname) const |
| Log a message using the default component and specified category. | |
| void | logMessage (const LogMessage &message) const |
| Log a message. | |
| void | setDefaultComponent (const String &component) |
| Sets the default component. | |
| String | getDefaultComponent () const |
| Gets the default component. | |
| ELogLevel | getLogLevel () const |
| void | setLogLevel (ELogLevel logLevel) |
| Set the log level. | |
| void | setLogLevel (const String &logLevel) |
| Set the log level. | |
| bool | categoryIsEnabled (const String &category) const |
| Determine if the log category is enabled. | |
| bool | levelIsEnabled (const ELogLevel level) |
| Check if the logger is enabled for given level. | |
| bool | componentAndCategoryAreEnabled (const String &component, const String &category) const |
| Determine if the component and category are both enabled. | |
| LoggerRef | clone () const |
| Make a copy of the derived instance. | |
| virtual | ~Logger () |
Static Public Member Functions | |
| static String | getConfigItem (const LoggerConfigMap &configItems, const String &itemName, const String &defRetVal=String()) |
| Get a value from a given LoggerConfigMap. | |
| static void | setConfigItem (LoggerConfigMap &configItems, const String &itemName, const String &value, EOverwritePreviousConfigItemFlag overwritePrevious=E_OVERWRITE_PREVIOUS_CONFIG_ITEM) |
| Set a value for a given item name in a given LoggerConfigMap. | |
| static blocxx::LoggerRef | getCurrentLogger () |
| Get a copy of the per thread LoggerRef or if not set, the default one. | |
| static blocxx::LoggerRef | getDefaultLogger () |
| Returns a copy of default LoggerRef. | |
| static bool | setDefaultLogger (const blocxx::LoggerRef &ref) |
| Set the default global logger. | |
| static bool | setThreadLogger (const blocxx::LoggerRef &ref) |
| Set a per thread Logger that overrides the default one. | |
Static Public Attributes | |
| static const String | STR_NONE_CATEGORY |
| static const String | STR_FATAL_CATEGORY |
| static const String | STR_ERROR_CATEGORY |
| static const String | STR_INFO_CATEGORY |
| static const String | STR_DEBUG_CATEGORY |
| static const String | STR_ALL_CATEGORY |
| static const String | STR_DEFAULT_COMPONENT |
Protected Member Functions | |
| Logger (const String &defaultComponent, const ELogLevel logLevel) | |
| virtual void | doProcessLogMessage (const LogMessage &message) const =0 |
| Output the message. | |
| virtual bool | doCategoryIsEnabled (const String &category) const |
| Return whether logging is enabled for the category. | |
| virtual bool | doComponentAndCategoryAreEnabled (const String &component, const String &category) const |
| Return whether logging is enabled for the component and category. | |
| virtual LoggerRef | doClone () const =0 |
| Make a copy of the derived instance. | |
| Logger (const Logger &) | |
| Logger & | operator= (const Logger &) |
| void | swap (Logger &x) |
Private Member Functions | |
| void | processLogMessage (const LogMessage &message) const |
Private Attributes | |
| ELogLevel | m_logLevel |
| String | m_defaultComponent |
Used to output log messages. A Logger has a component and a log level. The component will be used for all log messages generated, unless another component explicitly specified in a call to logMessage().
Invariants:
Responsibilities:
Collaborators:
Thread safety: read/write, except for setDefaultComponent() and setLogLevel() which should only be called during initialization phase.
Copy semantics: Non-copyable
Exception safety: Strong
Definition at line 78 of file Logger.hpp.
|
|
Definition at line 90 of file Logger.hpp. |
|
|
Definition at line 94 of file Logger.cpp. |
|
||||||||||||
|
Definition at line 99 of file Logger.cpp. References BLOCXX_ASSERT, and m_defaultComponent. |
|
|
Definition at line 326 of file Logger.cpp. |
|
|
Determine if the log category is enabled.
Definition at line 262 of file Logger.cpp. References doCategoryIsEnabled(). Referenced by BLOCXX_NAMESPACE::AppenderLogger::doCategoryIsEnabled(). |
|
|
Make a copy of the derived instance. Provided the derived class has a suitable copy constructor, an implementation of clone should simply be: LoggerRef DerivedLogger::doClone() const { return LoggerRef(new DerivedLogger(*this)); } Definition at line 320 of file Logger.cpp. References doClone(). |
|
||||||||||||
|
Determine if the component and category are both enabled.
Definition at line 270 of file Logger.cpp. References doComponentAndCategoryAreEnabled(). Referenced by BLOCXX_NAMESPACE::AppenderLogger::doComponentAndCategoryAreEnabled(). |
|
|
Return whether logging is enabled for the category. Default implementation always returns true. Reimplemented in BLOCXX_NAMESPACE::AppenderLogger. Definition at line 288 of file Logger.cpp. Referenced by categoryIsEnabled(). |
|
|
Make a copy of the derived instance. Provided the derived class has a suitable copy constructor, an implementation of clone should simply be: LoggerRef DerivedLogger::doClone() const { return LoggerRef(new DerivedLogger(*this)); } Implemented in BLOCXX_NAMESPACE::AppenderLogger, BLOCXX_NAMESPACE::CerrLogger, and BLOCXX_NAMESPACE::NullLogger. Referenced by clone(). |
|
||||||||||||
|
Return whether logging is enabled for the component and category. Default implementation always returns true. Reimplemented in BLOCXX_NAMESPACE::AppenderLogger. Definition at line 279 of file Logger.cpp. Referenced by componentAndCategoryAreEnabled(). |
|
|
Output the message. Calls will not be serialized, so the derived class' implementation must be thread safe. Implemented in BLOCXX_NAMESPACE::AppenderLogger, BLOCXX_NAMESPACE::CerrLogger, and BLOCXX_NAMESPACE::NullLogger. Referenced by processLogMessage(). |
|
||||||||||||||||
|
Get a value from a given LoggerConfigMap.
Definition at line 68 of file Logger.cpp. References BLOCXX_NAMESPACE::Map< Key, T, Compare >::end(), BLOCXX_NAMESPACE::Map< Key, T, Compare >::find(), and i. |
|
|
Get a copy of the per thread LoggerRef or if not set, the default one. If neither setDefaultLogger() or setThreadLogger() has been called, the default logger will be set to a NullLogger, and then returned. Definition at line 444 of file Logger.cpp. References BLOCXX_NAMESPACE::callOnce(), BLOCXX_NAMESPACE::g_loggerKey, BLOCXX_NAMESPACE::g_onceGuard, getDefaultLogger(), and BLOCXX_NAMESPACE::initGuardAndKey(). |
|
|
Gets the default component.
Definition at line 305 of file Logger.cpp. References m_defaultComponent. |
|
|
Returns a copy of default LoggerRef. If you want to log messages, you shouldn't call this function. Use getCurrentLogger() instead. If setDefaultLogger() hasn't been called, the default logger will be set to a NullLogger, and then returned. Definition at line 429 of file Logger.cpp. References BLOCXX_NAMESPACE::callOnce(), BLOCXX_NAMESPACE::g_defaultLogger, BLOCXX_NAMESPACE::g_mutexGuard, BLOCXX_NAMESPACE::g_onceGuard, and BLOCXX_NAMESPACE::initGuardAndKey(). Referenced by getCurrentLogger(). |
|
|
Definition at line 257 of file Logger.hpp. Referenced by BLOCXX_NAMESPACE::AppenderLogger::getLevel(), and levelIsEnabled(). |
|
|
Check if the logger is enabled for given level.
Definition at line 460 of file Logger.cpp. References getLogLevel(). |
|
||||||||||||||||||||
|
If getLogLevel() >= E_DEBUG_LEVEL, Log debug info.
Definition at line 196 of file Logger.cpp. References BLOCXX_NAMESPACE::E_DEBUG_LEVEL, m_defaultComponent, m_logLevel, processLogMessage(), and STR_DEBUG_CATEGORY. |
|
||||||||||||||||||||
|
If getLogLevel() >= E_ERROR_LEVEL, Log message with an error category and the default component.
Definition at line 168 of file Logger.cpp. References BLOCXX_NAMESPACE::E_ERROR_LEVEL, m_defaultComponent, m_logLevel, processLogMessage(), and STR_ERROR_CATEGORY. |
|
||||||||||||||||||||
|
Log message with a fatal error category and the default component.
Definition at line 153 of file Logger.cpp. References BLOCXX_NAMESPACE::E_FATAL_ERROR_LEVEL, m_defaultComponent, m_logLevel, processLogMessage(), and STR_FATAL_CATEGORY. |
|
||||||||||||||||||||
|
If getLogLevel() >= E_INFO_LEVEL, Log info.
Definition at line 182 of file Logger.cpp. References BLOCXX_NAMESPACE::E_INFO_LEVEL, m_defaultComponent, m_logLevel, processLogMessage(), and STR_INFO_CATEGORY. |
|
|
Log a message. The current log level is ignored.
Definition at line 254 of file Logger.cpp. References processLogMessage(). |
|
||||||||||||||||||||||||
|
Log a message using the default component and specified category. The current log level is ignored.
Definition at line 242 of file Logger.cpp. References m_defaultComponent, and processLogMessage(). |
|
||||||||||||
|
Log a message using the default component and specified category. The current log level is ignored.
Definition at line 233 of file Logger.cpp. References m_defaultComponent, and processLogMessage(). |
|
||||||||||||||||||||||||||||
|
Log a message using the specified component and category The current log level is ignored.
Definition at line 220 of file Logger.cpp. References processLogMessage(). |
|
||||||||||||||||
|
Log a message using the specified component and category The current log level is ignored.
Definition at line 210 of file Logger.cpp. References processLogMessage(). Referenced by BLOCXX_NAMESPACE::AppenderLogger::doProcessLogMessage(). |
|
|
Definition at line 337 of file Logger.cpp. References m_defaultComponent, and m_logLevel. |
|
|
Definition at line 110 of file Logger.cpp. References BLOCXX_ASSERT, BLOCXX_NAMESPACE::LogMessage::category, BLOCXX_NAMESPACE::LogMessage::component, doProcessLogMessage(), BLOCXX_NAMESPACE::String::empty(), and BLOCXX_NAMESPACE::LogMessage::message. Referenced by logDebug(), logError(), logFatalError(), logInfo(), and logMessage(). |
|
||||||||||||||||||||
|
Set a value for a given item name in a given LoggerConfigMap.
Definition at line 80 of file Logger.cpp. References BLOCXX_NAMESPACE::Map< Key, T, Compare >::end(), and BLOCXX_NAMESPACE::Map< Key, T, Compare >::find(). |
|
|
Sets the default component. This function is not thread safe.
Definition at line 296 of file Logger.cpp. References BLOCXX_ASSERT, and m_defaultComponent. |
|
|
Set the default global logger.
Definition at line 387 of file Logger.cpp. References BLOCXX_NAMESPACE::callOnce(), BLOCXX_NAMESPACE::g_defaultLogger, BLOCXX_NAMESPACE::g_mutexGuard, BLOCXX_NAMESPACE::g_onceGuard, and BLOCXX_NAMESPACE::initGuardAndKey(). |
|
|
Set the log level. All lower level log messages will be ignored. This function is not thread safe.
Definition at line 122 of file Logger.cpp. References BLOCXX_NAMESPACE::E_INFO_LEVEL, BLOCXX_NAMESPACE::String::equalsIgnoreCase(), setLogLevel(), and STR_INFO_CATEGORY. |
|
|
Set the log level. All lower level log messages will be ignored. This function is not thread safe.
Definition at line 312 of file Logger.cpp. References m_logLevel. Referenced by setLogLevel(). |
|
|
Set a per thread Logger that overrides the default one.
Definition at line 404 of file Logger.cpp. References BLOCXX_ASSERTMSG, BLOCXX_NAMESPACE::callOnce(), BLOCXX_NAMESPACE::freeThreadLogger(), BLOCXX_NAMESPACE::g_loggerKey, BLOCXX_NAMESPACE::g_onceGuard, and BLOCXX_NAMESPACE::initGuardAndKey(). |
|
|
Definition at line 347 of file Logger.cpp. References m_defaultComponent, m_logLevel, BLOCXX_NAMESPACE::String::swap(), and BLOCXX_NAMESPACE::swap(). |
|
|
Definition at line 352 of file Logger.hpp. Referenced by getDefaultComponent(), logDebug(), logError(), logFatalError(), Logger(), logInfo(), logMessage(), operator=(), setDefaultComponent(), and swap(). |
|
|
Definition at line 351 of file Logger.hpp. Referenced by logDebug(), logError(), logFatalError(), logInfo(), operator=(), setLogLevel(), and swap(). |
|
|
Definition at line 87 of file Logger.hpp. |
|
|
Definition at line 86 of file Logger.hpp. Referenced by BLOCXX_NAMESPACE::SyslogAppender::doProcessLogMessage(), BLOCXX_NAMESPACE::LogAppender::getLogLevel(), and logDebug(). |
|
|
Definition at line 88 of file Logger.hpp. |
|
|
Definition at line 84 of file Logger.hpp. Referenced by BLOCXX_NAMESPACE::SyslogAppender::doProcessLogMessage(), BLOCXX_NAMESPACE::LogAppender::getLogLevel(), and logError(). |
|
|
Definition at line 83 of file Logger.hpp. Referenced by BLOCXX_NAMESPACE::SyslogAppender::doProcessLogMessage(), BLOCXX_NAMESPACE::LogAppender::getLogLevel(), and logFatalError(). |
|
|
Definition at line 85 of file Logger.hpp. Referenced by BLOCXX_NAMESPACE::SyslogAppender::doProcessLogMessage(), BLOCXX_NAMESPACE::LogAppender::getLogLevel(), logInfo(), and setLogLevel(). |
|
|
Definition at line 82 of file Logger.hpp. |
1.4.6