18#ifndef _LOG4CXX_LOGGER_H
19#define _LOG4CXX_LOGGER_H
34class LoggerRepository;
61 LOG4CXX_DECLARE_PRIVATE_MEMBER_PTR(LoggerPrivate, m_priv)
72#if LOG4CXX_ABI_VERSION <= 15
74 [[ deprecated(
"Pool is no longer required" ) ]]
90#if LOG4CXX_ABI_VERSION <= 15
104 [[ deprecated(
"Pool is no longer required" ) ]]
133 void debug(
const std::string& msg,
const LOG4CXX_NS::spi::LocationInfo& location)
const;
148 void debug(
const std::string& msg)
const;
149#if LOG4CXX_WCHAR_T_API
165 void debug(
const std::wstring& msg,
const LOG4CXX_NS::spi::LocationInfo& location)
const;
180 void debug(
const std::wstring& msg)
const;
182#if LOG4CXX_UNICHAR_API
198 void debug(
const std::basic_string<UniChar>& msg,
const LOG4CXX_NS::spi::LocationInfo& location)
const;
213 void debug(
const std::basic_string<UniChar>& msg)
const;
215#if LOG4CXX_CFSTRING_API
264 void error(
const std::string& msg,
const LOG4CXX_NS::spi::LocationInfo& location)
const;
279 void error(
const std::string& msg)
const;
280#if LOG4CXX_WCHAR_T_API
295 void error(
const std::wstring& msg)
const;
311 void error(
const std::wstring& msg,
const LOG4CXX_NS::spi::LocationInfo& location)
const;
313#if LOG4CXX_UNICHAR_API
329 void error(
const std::basic_string<UniChar>& msg,
const LOG4CXX_NS::spi::LocationInfo& location)
const;
344 void error(
const std::basic_string<UniChar>& msg)
const;
346#if LOG4CXX_CFSTRING_API
395 void fatal(
const std::string& msg,
const LOG4CXX_NS::spi::LocationInfo& location)
const;
410 void fatal(
const std::string& msg)
const;
411#if LOG4CXX_WCHAR_T_API
427 void fatal(
const std::wstring& msg,
const LOG4CXX_NS::spi::LocationInfo& location)
const;
442 void fatal(
const std::wstring& msg)
const;
444#if LOG4CXX_UNICHAR_API
460 void fatal(
const std::basic_string<UniChar>& msg,
const LOG4CXX_NS::spi::LocationInfo& location)
const;
475 void fatal(
const std::basic_string<UniChar>& msg)
const;
477#if LOG4CXX_CFSTRING_API
635 const LOG4CXX_NS::spi::LocationInfo& location)
const;
644#if LOG4CXX_WCHAR_T_API
711 const LOG4CXX_NS::spi::LocationInfo& location)
const;
720#if LOG4CXX_UNICHAR_API
781 const LOG4CXX_NS::spi::LocationInfo& location)
const;
790#if LOG4CXX_CFSTRING_API
799 const LOG4CXX_NS::spi::LocationInfo& location)
const;
826 const LOG4CXX_NS::spi::LocationInfo& location)
const;
857#if LOG4CXX_ABI_VERSION <= 15
876#if LOG4CXX_WCHAR_T_API
883#if LOG4CXX_UNICHAR_API
888 void getName(std::basic_string<UniChar>& name)
const;
890#if LOG4CXX_CFSTRING_API
914#if 15 < LOG4CXX_ABI_VERSION
931#if LOG4CXX_WCHAR_T_API
943#if LOG4CXX_UNICHAR_API
950#if LOG4CXX_CFSTRING_API
982 const LOG4CXX_NS::spi::LoggerFactoryPtr& factory);
997 const LOG4CXX_NS::spi::LoggerFactoryPtr& factory);
998#if LOG4CXX_WCHAR_T_API
1013 const LOG4CXX_NS::spi::LoggerFactoryPtr& factory);
1015#if LOG4CXX_UNICHAR_API
1030 const LOG4CXX_NS::spi::LoggerFactoryPtr& factory);
1032#if LOG4CXX_CFSTRING_API
1047 const LOG4CXX_NS::spi::LoggerFactoryPtr& factory);
1089 void info(
const std::string& msg,
const LOG4CXX_NS::spi::LocationInfo& location)
const;
1104 void info(
const std::string& msg)
const;
1105#if LOG4CXX_WCHAR_T_API
1121 void info(
const std::wstring& msg,
const LOG4CXX_NS::spi::LocationInfo& location)
const;
1136 void info(
const std::wstring& msg)
const;
1138#if LOG4CXX_UNICHAR_API
1152 void info(
const std::basic_string<UniChar>& msg,
const LOG4CXX_NS::spi::LocationInfo& location)
const;
1167 void info(
const std::basic_string<UniChar>& msg)
const;
1169#if LOG4CXX_CFSTRING_API
1267 return logger && logger->m_threshold <=
Level::DEBUG_INT && logger->isDebugEnabled();
1301 return logger && logger->m_threshold <=
Level::INFO_INT && logger->isInfoEnabled();
1327 return logger && logger->m_threshold <=
Level::WARN_INT && logger->isWarnEnabled();
1353 return logger && logger->m_threshold <=
Level::ERROR_INT && logger->isErrorEnabled();
1379 return logger && logger->m_threshold <=
Level::FATAL_INT && logger->isFatalEnabled();
1405 return logger && logger->m_threshold <=
Level::TRACE_INT && logger->isTraceEnabled();
1427 const LOG4CXX_NS::spi::LocationInfo& locationInfo,
1428 const std::vector<LogString>& values)
const;
1445 const LOG4CXX_NS::spi::LocationInfo& locationInfo)
const;
1464 const LOG4CXX_NS::spi::LocationInfo& locationInfo,
1465 const std::string& val)
const;
1485 const LOG4CXX_NS::spi::LocationInfo& locationInfo,
1486 const std::string& val1,
const std::string& val2)
const;
1507 const LOG4CXX_NS::spi::LocationInfo& locationInfo,
1508 const std::string& val1,
const std::string& val2,
const std::string& val3)
const;
1510#if LOG4CXX_WCHAR_T_API
1527 const LOG4CXX_NS::spi::LocationInfo& locationInfo)
const;
1546 const LOG4CXX_NS::spi::LocationInfo& locationInfo,
1547 const std::wstring& val)
const;
1567 const LOG4CXX_NS::spi::LocationInfo& locationInfo,
1568 const std::wstring& val1,
const std::wstring& val2)
const;
1589 const LOG4CXX_NS::spi::LocationInfo& locationInfo,
1590 const std::wstring& val1,
const std::wstring& val2,
const std::wstring& val3)
const;
1592#if LOG4CXX_UNICHAR_API
1609 const LOG4CXX_NS::spi::LocationInfo& locationInfo)
const;
1628 const LOG4CXX_NS::spi::LocationInfo& locationInfo,
1629 const std::basic_string<UniChar>& val)
const;
1649 const LOG4CXX_NS::spi::LocationInfo& locationInfo,
1650 const std::basic_string<UniChar>& val1,
const std::basic_string<UniChar>& val2)
const;
1671 const LOG4CXX_NS::spi::LocationInfo& locationInfo,
1672 const std::basic_string<UniChar>& val1,
const std::basic_string<UniChar>& val2,
1673 const std::basic_string<UniChar>& val3)
const;
1675#if LOG4CXX_CFSTRING_API
1692 const LOG4CXX_NS::spi::LocationInfo& locationInfo)
const;
1711 const LOG4CXX_NS::spi::LocationInfo& locationInfo,
1732 const LOG4CXX_NS::spi::LocationInfo& locationInfo,
1754 const LOG4CXX_NS::spi::LocationInfo& locationInfo,
1768 const LOG4CXX_NS::spi::LocationInfo& location)
const;
1778#if LOG4CXX_WCHAR_T_API
1788 const LOG4CXX_NS::spi::LocationInfo& location)
const;
1799#if LOG4CXX_UNICHAR_API
1808 void log(
const LevelPtr& level,
const std::basic_string<UniChar>& message,
1809 const LOG4CXX_NS::spi::LocationInfo& location)
const;
1818 void log(
const LevelPtr& level,
const std::basic_string<UniChar>& message)
const;
1820#if LOG4CXX_CFSTRING_API
1830 const LOG4CXX_NS::spi::LocationInfo& location)
const;
1850 const LOG4CXX_NS::spi::LocationInfo& location)
const;
1940#if LOG4CXX_WCHAR_T_API
1956 void warn(
const std::wstring& msg,
const LOG4CXX_NS::spi::LocationInfo& location)
const;
1971 void warn(
const std::wstring& msg)
const;
1973#if LOG4CXX_UNICHAR_API
1989 void warn(
const std::basic_string<UniChar>& msg,
const LOG4CXX_NS::spi::LocationInfo& location)
const;
2004 void warn(
const std::basic_string<UniChar>& msg)
const;
2006#if LOG4CXX_CFSTRING_API
2054 void warn(
const std::string& msg,
const LOG4CXX_NS::spi::LocationInfo& location)
const;
2069 void warn(
const std::string& msg)
const;
2071#if LOG4CXX_WCHAR_T_API
2087 void trace(
const std::wstring& msg,
const LOG4CXX_NS::spi::LocationInfo& location)
const;
2102 void trace(
const std::wstring& msg)
const;
2104#if LOG4CXX_UNICHAR_API
2120 void trace(
const std::basic_string<UniChar>& msg,
const LOG4CXX_NS::spi::LocationInfo& location)
const;
2135 void trace(
const std::basic_string<UniChar>& msg)
const;
2137#if LOG4CXX_CFSTRING_API
2185 void trace(
const std::string& msg,
const LOG4CXX_NS::spi::LocationInfo& location)
const;
2200 void trace(
const std::string& msg)
const;
2220#if !defined(LOG4CXX_UNLIKELY)
2228 #define LOG4CXX_UNLIKELY(expr) __builtin_expect(expr, 0)
2236 #define LOG4CXX_UNLIKELY(expr) expr
2240#if defined(LOG4CXX_ENABLE_STACKTRACE) && !defined(LOG4CXX_STACKTRACE)
2241 #ifndef __has_include
2242 #include <boost/stacktrace.hpp>
2243 #define LOG4CXX_STACKTRACE ::LOG4CXX_NS::MDC mdc_("stacktrace", LOG4CXX_EOL + boost::stacktrace::to_string(boost::stacktrace::stacktrace()));
2244 #elif __has_include(<stacktrace>)
2245 #include <stacktrace>
2246 #define LOG4CXX_STACKTRACE ::LOG4CXX_NS::MDC mdc_("stacktrace", LOG4CXX_EOL + std::stacktrace::to_string(std::stacktrace::stacktrace()));
2247 #elif __has_include(<boost/stacktrace.hpp>)
2248 #include <boost/stacktrace.hpp>
2249 #define LOG4CXX_STACKTRACE ::LOG4CXX_NS::MDC mdc_("stacktrace", LOG4CXX_EOL + boost::stacktrace::to_string(boost::stacktrace::stacktrace()));
2251 #warning "Stacktrace requested but no implementation found"
2255#if !defined(LOG4CXX_STACKTRACE)
2256#define LOG4CXX_STACKTRACE
2259#ifndef LOG4CXX_FMT_VA_ARG
2260#if __cplusplus >= 202002L
2261 #define LOG4CXX_FMT_VA_ARG(...) __VA_OPT__(,) __VA_ARGS__
2263 #define LOG4CXX_FMT_VA_ARG(...) , __VA_ARGS__
2278#define LOG4CXX_LOG(logger, level, message) do { \
2279 if (logger->isEnabledFor(level)) {\
2280 ::LOG4CXX_NS::helpers::MessageBuffer oss_; \
2281 logger->addEvent(level, oss_.extract_str(oss_ << message), LOG4CXX_LOCATION); }} while (0)
2291#define LOG4CXX_LOG_FMT(logger, level, fmt, ...) do { \
2292 if (logger->isEnabledFor(level)) {\
2293 logger->addEvent(level, ::LOG4CXX_FORMAT_NS::format(fmt LOG4CXX_FMT_VA_ARG(__VA_ARGS__) ), LOG4CXX_LOCATION); }} while (0)
2302#define LOG4CXX_LOGLS(logger, level, message) do { \
2303 if (logger->isEnabledFor(level)) {\
2304 ::LOG4CXX_NS::helpers::LogCharMessageBuffer oss_; \
2305 logger->addEvent(level, oss_.extract_str(oss_ << message), LOG4CXX_LOCATION); }} while (0)
2307#if !defined(LOG4CXX_THRESHOLD) || LOG4CXX_THRESHOLD <= 10000
2327#define LOG4CXX_DEBUG(logger, message) do { \
2328 if (LOG4CXX_UNLIKELY(::LOG4CXX_NS::Logger::isDebugEnabledFor(logger))) {\
2329 ::LOG4CXX_NS::helpers::MessageBuffer oss_; \
2330 logger->addDebugEvent(oss_.extract_str(oss_ << message), LOG4CXX_LOCATION); }} while (0)
2351#define LOG4CXX_DEBUG_FMT(logger, fmt, ...) do { \
2352 if (LOG4CXX_UNLIKELY(::LOG4CXX_NS::Logger::isDebugEnabledFor(logger))) {\
2353 logger->addDebugEvent(::LOG4CXX_FORMAT_NS::format(fmt LOG4CXX_FMT_VA_ARG(__VA_ARGS__) ), LOG4CXX_LOCATION); }} while (0)
2355#define LOG4CXX_DEBUG(logger, message)
2356#define LOG4CXX_DEBUG_FMT(logger, fmt, ...)
2359#if !defined(LOG4CXX_THRESHOLD) || LOG4CXX_THRESHOLD <= 5000
2371#define LOG4CXX_TRACE(logger, message) do { \
2372 if (LOG4CXX_UNLIKELY(::LOG4CXX_NS::Logger::isTraceEnabledFor(logger))) {\
2373 ::LOG4CXX_NS::helpers::MessageBuffer oss_; \
2374 logger->addTraceEvent(oss_.extract_str(oss_ << message), LOG4CXX_LOCATION); }} while (0)
2388#define LOG4CXX_TRACE_FMT(logger, fmt, ...) do { \
2389 if (LOG4CXX_UNLIKELY(::LOG4CXX_NS::Logger::isTraceEnabledFor(logger))) {\
2390 logger->addTraceEvent(::LOG4CXX_FORMAT_NS::format(fmt LOG4CXX_FMT_VA_ARG(__VA_ARGS__)), LOG4CXX_LOCATION); }} while (0)
2392#define LOG4CXX_TRACE(logger, message)
2393#define LOG4CXX_TRACE_FMT(logger, fmt, ...)
2396#if !defined(LOG4CXX_THRESHOLD) || LOG4CXX_THRESHOLD <= 20000
2413#define LOG4CXX_INFO(logger, message) do { \
2414 if (::LOG4CXX_NS::Logger::isInfoEnabledFor(logger)) {\
2415 ::LOG4CXX_NS::helpers::MessageBuffer oss_; \
2416 logger->addInfoEvent(oss_.extract_str(oss_ << message), LOG4CXX_LOCATION); }} while (0)
2434#define LOG4CXX_INFO_FMT(logger, fmt, ...) do { \
2435 if (::LOG4CXX_NS::Logger::isInfoEnabledFor(logger)) {\
2436 logger->addInfoEvent(::LOG4CXX_FORMAT_NS::format(fmt LOG4CXX_FMT_VA_ARG(__VA_ARGS__)), LOG4CXX_LOCATION); }} while (0)
2438#define LOG4CXX_INFO(logger, message)
2439#define LOG4CXX_INFO_FMT(logger, fmt, ...)
2442#if !defined(LOG4CXX_THRESHOLD) || LOG4CXX_THRESHOLD <= 30000
2457#define LOG4CXX_WARN(logger, message) do { \
2458 if (::LOG4CXX_NS::Logger::isWarnEnabledFor(logger)) {\
2459 ::LOG4CXX_NS::helpers::MessageBuffer oss_; \
2460 logger->addWarnEvent(oss_.extract_str(oss_ << message), LOG4CXX_LOCATION); }} while (0)
2477#define LOG4CXX_WARN_FMT(logger, fmt, ...) do { \
2478 if (::LOG4CXX_NS::Logger::isWarnEnabledFor(logger)) {\
2479 logger->addWarnEvent(::LOG4CXX_FORMAT_NS::format(fmt LOG4CXX_FMT_VA_ARG(__VA_ARGS__)), LOG4CXX_LOCATION); }} while (0)
2481#define LOG4CXX_WARN(logger, message)
2482#define LOG4CXX_WARN_FMT(logger, fmt, ...)
2485#if !defined(LOG4CXX_THRESHOLD) || LOG4CXX_THRESHOLD <= 40000
2500#define LOG4CXX_ERROR(logger, message) do { \
2501 if (::LOG4CXX_NS::Logger::isErrorEnabledFor(logger)) {\
2502 ::LOG4CXX_NS::helpers::MessageBuffer oss_; \
2503 logger->addErrorEvent(oss_.extract_str(oss_ << message), LOG4CXX_LOCATION); }} while (0)
2520#define LOG4CXX_ERROR_FMT(logger, fmt, ...) do { \
2521 if (::LOG4CXX_NS::Logger::isErrorEnabledFor(logger)) {\
2522 logger->addErrorEvent(::LOG4CXX_FORMAT_NS::format(fmt LOG4CXX_FMT_VA_ARG(__VA_ARGS__)), LOG4CXX_LOCATION); }} while (0)
2531#define LOG4CXX_ASSERT(logger, condition, message) do { \
2532 if (!(condition) && ::LOG4CXX_NS::Logger::isErrorEnabledFor(logger)) {\
2533 ::LOG4CXX_NS::helpers::MessageBuffer oss_; \
2534 LOG4CXX_STACKTRACE \
2535 logger->addErrorEvent(oss_.extract_str(oss_ << message), LOG4CXX_LOCATION); }} while (0)
2547#define LOG4CXX_ASSERT_FMT(logger, condition, fmt, ...) do { \
2548 if (!(condition) && ::LOG4CXX_NS::Logger::isErrorEnabledFor(logger)) {\
2549 LOG4CXX_STACKTRACE \
2550 logger->addErrorEvent(::LOG4CXX_FORMAT_NS::format(fmt LOG4CXX_FMT_VA_ARG(__VA_ARGS__)), LOG4CXX_LOCATION); }} while (0)
2553#define LOG4CXX_ERROR(logger, message)
2554#define LOG4CXX_ERROR_FMT(logger, fmt, ...)
2555#define LOG4CXX_ASSERT(logger, condition, message)
2556#define LOG4CXX_ASSERT_FMT(logger, condition, fmt, ...)
2559#if !defined(LOG4CXX_THRESHOLD) || LOG4CXX_THRESHOLD <= 50000
2571#define LOG4CXX_FATAL(logger, message) do { \
2572 if (::LOG4CXX_NS::Logger::isFatalEnabledFor(logger)) {\
2573 ::LOG4CXX_NS::helpers::MessageBuffer oss_; \
2574 logger->addFatalEvent(oss_.extract_str(oss_ << message), LOG4CXX_LOCATION); }} while (0)
2588#define LOG4CXX_FATAL_FMT(logger, fmt, ...) do { \
2589 if (::LOG4CXX_NS::Logger::isFatalEnabledFor(logger)) {\
2590 logger->addFatalEvent(::LOG4CXX_FORMAT_NS::format(fmt LOG4CXX_FMT_VA_ARG(__VA_ARGS__)), LOG4CXX_LOCATION); }} while (0)
2592#define LOG4CXX_FATAL(logger, message)
2593#define LOG4CXX_FATAL_FMT(logger, fmt, ...)
2603#define LOG4CXX_L7DLOG(logger, level, key) do { \
2604 if (logger->isEnabledFor(level)) {\
2605 logger->l7dlog(level, key, LOG4CXX_LOCATION); }} while (0)
2615#define LOG4CXX_L7DLOG1(logger, level, key, p1) do { \
2616 if (logger->isEnabledFor(level)) {\
2617 logger->l7dlog(level, key, LOG4CXX_LOCATION, p1); }} while (0)
2628#define LOG4CXX_L7DLOG2(logger, level, key, p1, p2) do { \
2629 if (logger->isEnabledFor(level)) {\
2630 logger->l7dlog(level, key, LOG4CXX_LOCATION, p1, p2); }} while (0)
2642#define LOG4CXX_L7DLOG3(logger, level, key, p1, p2, p3) do { \
2643 if (logger->isEnabledFor(level)) {\
2644 logger->l7dlog(level, key, LOG4CXX_LOCATION, p1, p2, p3); }} while (0)
@ DEBUG_INT
Definition level.h:216
@ WARN_INT
Definition level.h:214
@ INFO_INT
Definition level.h:215
@ ERROR_INT
Definition level.h:213
@ FATAL_INT
Definition level.h:212
@ TRACE_INT
Definition level.h:217
This is the central class in the log4cxx package.
Definition log4cxx/logger.h:52
void log(const LevelPtr &level, const std::wstring &message) const
Add a new logging event containing message to the appenders attached to this logger if this logger is...
static LoggerPtr getLogger(const std::basic_string< UniChar > &name)
Retrieve a logger by name.
void info(const std::string &msg, const log4cxx::spi::LocationInfo &location) const
Add a new logging event containing msg to attached appender(s) if this logger is enabled for INFO eve...
void setAdditivity(bool additive)
Set the additivity flag for this logger.
virtual const LevelPtr & getEffectiveLevel() const
Starting from this logger, search the logger hierarchy for a non-null level and return it.
void info(const std::wstring &msg) const
Add a new logging event containing msg to attached appender(s) if this logger is enabled for INFO eve...
void addWarnEvent(std::wstring &&message, const spi::LocationInfo &location=spi::LocationInfo::getLocationUnavailable()) const
Add a new warning level logging event containing message and location to attached appender(s) without...
void addDebugEvent(std::wstring &&message, const spi::LocationInfo &location=spi::LocationInfo::getLocationUnavailable()) const
Add a new debug level logging event containing message and location to attached appender(s) without f...
void removeAllAppenders() override
Remove all previously added appenders from this logger instance.
static LoggerPtr getLogger(const std::string &name, const log4cxx::spi::LoggerFactoryPtr &factory)
Like getLogger except that the type of logger instantiated depends on the type returned by the Logger...
void warn(const std::wstring &msg, const log4cxx::spi::LocationInfo &location) const
Add a new logging event containing msg to attached appender(s) if this logger is enabled for WARN eve...
void l7dlog(const LevelPtr &level, const std::string &key, const log4cxx::spi::LocationInfo &locationInfo, const std::string &val1, const std::string &val2, const std::string &val3) const
Add a new logging event containing locationInfo and the localized message key using parameters val1,...
void info(const std::basic_string< UniChar > &msg) const
Add a new logging event containing msg to attached appender(s) if this logger is enabled for INFO eve...
friend class Hierarchy
Definition log4cxx/logger.h:1889
static LoggerPtr getLogger(const std::basic_string< UniChar > &name, const log4cxx::spi::LoggerFactoryPtr &factory)
Like getLogger except that the type of logger instantiated depends on the type returned by the Logger...
void setParent(LoggerPtr parentLogger)
Only the Hierarchy class can set the parent of a logger.
static bool isErrorEnabledFor(const LoggerPtr &logger)
Is logger is enabled for ERROR level logging events?
Definition log4cxx/logger.h:1351
void addDebugEvent(helpers::AsyncBuffer &&messageAppender, const spi::LocationInfo &location=spi::LocationInfo::getLocationUnavailable()) const
Add to attached appender(s) a new DEBUG level LoggingEvent which was requested at sourceLocation wher...
void log(const LevelPtr &level, const std::basic_string< UniChar > &message, const log4cxx::spi::LocationInfo &location) const
Add a new logging event containing message and location to the appenders attached to this logger if t...
void error(const std::basic_string< UniChar > &msg, const log4cxx::spi::LocationInfo &location) const
Add a new logging event containing msg and location to attached appender(s) if this logger is enabled...
void warn(const std::basic_string< UniChar > &msg) const
Add a new logging event containing msg to attached appender(s) if this logger is enabled for WARN eve...
static LoggerPtr getLoggerLS(const LogString &name, const log4cxx::spi::LoggerFactoryPtr &factory)
Like getLogger except that the type of logger instantiated depends on the type returned by the Logger...
void debug(const CFStringRef &msg) const
Add a new logging event containing msg to attached appender(s) if this logger is enabled for DEBUG ev...
static LoggerPtr getLoggerLS(const LogString &name)
Retrieve a logger by name in Unicode.
void setResourceBundle(const helpers::ResourceBundlePtr &bundle)
Set the resource bundle to be used with localized logging methods.
AppenderList getAllAppenders() const override
Get the appenders contained in this logger as an AppenderList.
Logger(helpers::Pool &pool, const LogString &name)
void addEvent(const LevelPtr &level, std::wstring &&message, const spi::LocationInfo &location=spi::LocationInfo::getLocationUnavailable()) const
Add a new logging event containing message and location to attached appender(s) without further check...
void warn(const std::string &msg) const
Add a new logging event containing msg to attached appender(s) if this logger is enabled for WARN eve...
void error(const std::wstring &msg) const
Add a new logging event containing msg to attached appender(s) if this logger is enabled for ERROR ev...
void callAppenders(const spi::LoggingEventPtr &event) const
Send event to all appenders attached to this or attached to a parent of this.
void addWarnEvent(std::string &&message, const spi::LocationInfo &location=spi::LocationInfo::getLocationUnavailable()) const
Add a new warning level logging event containing message and location to attached appender(s) without...
void l7dlog(const LevelPtr &level, const std::basic_string< UniChar > &key, const log4cxx::spi::LocationInfo &locationInfo, const std::basic_string< UniChar > &val1, const std::basic_string< UniChar > &val2, const std::basic_string< UniChar > &val3) const
Add a new logging event containing locationInfo and the localized message key using parameters val1,...
void trace(const std::string &msg) const
Add a new logging event containing msg to attached appender(s) if this logger is enabled for TRACE ev...
static LoggerPtr getLogger(const std::wstring &name)
Retrieve a logger by name.
helpers::ResourceBundlePtr getResourceBundle() const
Return the inherited ResourceBundle for this logger.
void fatal(const std::wstring &msg, const log4cxx::spi::LocationInfo &location) const
Add a new logging event containing msg and location to attached appender(s) if this logger is enabled...
bool isThresholdEqualTo(const LoggerPtr &other) const
Is m_threshold the same as other.
void addWarnEvent(std::basic_string< UniChar > &&message, const spi::LocationInfo &location=spi::LocationInfo::getLocationUnavailable()) const
Add a new warning level logging event containing message and location to attached appender(s) without...
void logLS(const LevelPtr &level, const LogString &message, const log4cxx::spi::LocationInfo &location) const
Add a new logging event containing message and location to the appenders attached to this logger if t...
static LoggerPtr getLogger(const char *const name)
Retrieve a logger by name in current encoding.
bool isInfoEnabled() const
Is this logger is enabled for INFO level logging events?
void trace(const std::string &msg, const log4cxx::spi::LocationInfo &location) const
Add a new logging event containing msg to attached appender(s) if this logger is enabled for TRACE ev...
void addInfoEvent(std::string &&message, const spi::LocationInfo &location=spi::LocationInfo::getLocationUnavailable()) const
Add a new info level logging event containing message and location to attached appender(s) without fu...
bool isAttached(const AppenderPtr appender) const override
Is appender attached to this logger?
bool isFatalEnabled() const
Is this logger is enabled for FATAL level logging events?
void debug(const std::basic_string< UniChar > &msg) const
Add a new logging event containing msg to attached appender(s) if this logger is enabled for DEBUG ev...
void warn(const CFStringRef &msg) const
Add a new logging event containing msg to attached appender(s) if this logger is enabled for WARN eve...
void log(const LevelPtr &level, const CFStringRef &message) const
Add a new logging event containing message to the appenders attached to this logger if this logger is...
virtual void setLevel(const LevelPtr level)
Set the level of this logger.
void getName(std::wstring &name) const
Put name of this logger into name.
void addTraceEvent(std::wstring &&message, const spi::LocationInfo &location=spi::LocationInfo::getLocationUnavailable()) const
Add a new trace level logging event containing message and location to attached appender(s) without f...
bool isWarnEnabled() const
Is this logger is enabled for WARN level logging events?
void l7dlog(const LevelPtr &level, const std::wstring &key, const log4cxx::spi::LocationInfo &locationInfo, const std::wstring &val) const
Add a new logging event containing locationInfo and the localized message key using parameter val to ...
spi::LoggerRepository * getLoggerRepository() const
Return the the LoggerRepository where this Logger is attached.
void removeAppender(const LogString &name) override
Remove the appender with the name passed as parameter form the list of appenders.
void debug(const std::basic_string< UniChar > &msg, const log4cxx::spi::LocationInfo &location) const
Add a new logging event containing msg and location to attached appender(s) if this logger is enabled...
void fatal(const CFStringRef &msg) const
Add a new logging event containing msg to attached appender(s) if this logger is enabled for FATAL ev...
void log(const LevelPtr &level, const std::basic_string< UniChar > &message) const
Add a new logging event containing message to the appenders attached to this logger if this logger is...
void l7dlog(const LevelPtr &level, const std::basic_string< UniChar > &key, const log4cxx::spi::LocationInfo &locationInfo, const std::basic_string< UniChar > &val1, const std::basic_string< UniChar > &val2) const
Add a new logging event containing locationInfo and the localized message key using parameters val1 a...
void addEvent(const LevelPtr &level, helpers::AsyncBuffer &&messageAppender, const spi::LocationInfo &sourceLocation=spi::LocationInfo::getLocationUnavailable()) const
Add to attached appender(s) a new level LoggingEvent which was requested at sourceLocation where the ...
void addEventLS(const LevelPtr &level, LogString &&message, const spi::LocationInfo &location=spi::LocationInfo::getLocationUnavailable()) const
Add a new logging event containing message and location to attached appender(s) without further check...
void log(const LevelPtr &level, const std::string &message) const
Add a new logging event containing message to the appenders attached to this logger if this logger is...
void trace(const std::basic_string< UniChar > &msg) const
Add a new logging event containing msg to attached appender(s) if this logger is enabled for TRACE ev...
void l7dlog(const LevelPtr &level, const CFStringRef &key, const log4cxx::spi::LocationInfo &locationInfo) const
Add a new logging event containing locationInfo and the localized message key to attached appender(s)...
void trace(const std::wstring &msg) const
Add a new logging event containing msg to attached appender(s) if this logger is enabled for TRACE ev...
void error(const std::string &msg) const
Add a new logging event containing msg to attached appender(s) if this logger is enabled for ERROR ev...
void l7dlog(const LevelPtr &level, const CFStringRef &key, const log4cxx::spi::LocationInfo &locationInfo, const CFStringRef &val1, const CFStringRef &val2) const
Add a new logging event containing locationInfo and the localized message key using parameters val1 a...
void addEvent(const LevelPtr &level, std::basic_string< UniChar > &&message, const spi::LocationInfo &location=spi::LocationInfo::getLocationUnavailable()) const
Add a new logging event containing message and location to attached appender(s) without further check...
void fatal(const std::wstring &msg) const
Add a new logging event containing msg to attached appender(s) if this logger is enabled for FATAL ev...
static LoggerPtr getLogger(const CFStringRef &name, const log4cxx::spi::LoggerFactoryPtr &factory)
Like getLogger except that the type of logger instantiated depends on the type returned by the Logger...
const LogString & getName() const
Get the logger name.
LogString getResourceBundleString(const LogString &key) const
Returns the string resource corresponding to key in this logger's inherited resource bundle.
bool isEnabledFor(const LevelPtr &level) const
Is this logger is enabled for logging events at level?
static LoggerPtr getLogger(const wchar_t *const name)
Retrieve a logger by name.
void debug(const std::string &msg, const log4cxx::spi::LocationInfo &location) const
Add a new logging event containing msg and location to attached appender(s) if this logger is enabled...
void addFatalEvent(std::wstring &&message, const spi::LocationInfo &location=spi::LocationInfo::getLocationUnavailable()) const
Add a new fatal level logging event containing message and location to attached appender(s) without f...
void debug(const CFStringRef &msg, const log4cxx::spi::LocationInfo &location) const
Add a new logging event containing msg and location to attached appender(s) if this logger is enabled...
void info(const std::string &msg) const
Add a new logging event containing msg to attached appender(s) if this logger is enabled for INFO eve...
void forcedLog(const LevelPtr &level, const std::basic_string< UniChar > &message, const log4cxx::spi::LocationInfo &location) const
Add a new logging event containing message and location to attached appender(s) without further check...
void forcedLog(const LevelPtr &level, const std::basic_string< UniChar > &message) const
Add a new logging event containing message to attached appender(s) without further checks.
static bool isWarnEnabledFor(const LoggerPtr &logger)
Is logger is enabled for WARN level logging events?
Definition log4cxx/logger.h:1325
void error(const CFStringRef &msg) const
Add a new logging event containing msg to attached appender(s) if this logger is enabled for ERROR ev...
bool isThresholdEqualTo(const LevelPtr &level) const
Is m_threshold the same as level->toInt()
void addEvent(const LevelPtr &level, std::string &&message, const spi::LocationInfo &location=spi::LocationInfo::getLocationUnavailable()) const
Add a new logging event containing message and location to attached appender(s) without further check...
void error(const std::wstring &msg, const log4cxx::spi::LocationInfo &location) const
Add a new logging event containing msg and location to attached appender(s) if this logger is enabled...
void warn(const std::string &msg, const log4cxx::spi::LocationInfo &location) const
Add a new logging event containing msg to attached appender(s) if this logger is enabled for WARN eve...
void replaceAppenders(const AppenderList &newList) LOG4CXX_16_VIRTUAL_SPECIFIER
Replace all previously added appenders with newList.
void l7dlog(const LevelPtr &level, const std::string &key, const log4cxx::spi::LocationInfo &locationInfo, const std::string &val) const
Add a new logging event containing locationInfo and the localized message key using parameter val to ...
void warn(const CFStringRef &msg, const log4cxx::spi::LocationInfo &location) const
Add a new logging event containing msg to attached appender(s) if this logger is enabled for WARN eve...
void addFatalEvent(helpers::AsyncBuffer &&messageAppender, const spi::LocationInfo &location=spi::LocationInfo::getLocationUnavailable()) const
Add to attached appender(s) a new FATAL level LoggingEvent which was requested at sourceLocation wher...
void addFatalEvent(std::basic_string< UniChar > &&message, const spi::LocationInfo &location=spi::LocationInfo::getLocationUnavailable()) const
Add a new fatal level logging event containing message and location to attached appender(s) without f...
void forcedLog(const LevelPtr &level, const CFStringRef &message, const log4cxx::spi::LocationInfo &location) const
Add a new logging event containing message and location to attached appender(s) without further check...
void forcedLog(const LevelPtr &level, const CFStringRef &message) const
Add a new logging event containing message to attached appender(s) without further checks.
void addInfoEvent(std::basic_string< UniChar > &&message, const spi::LocationInfo &location=spi::LocationInfo::getLocationUnavailable()) const
Add a new info level logging event containing message and location to attached appender(s) without fu...
void fatal(const std::string &msg) const
Add a new logging event containing msg to attached appender(s) if this logger is enabled for FATAL ev...
void log(const LevelPtr &level, const std::wstring &message, const log4cxx::spi::LocationInfo &location) const
Add a new logging event containing message and location to the appenders attached to this logger if t...
void addErrorEvent(std::wstring &&message, const spi::LocationInfo &location=spi::LocationInfo::getLocationUnavailable()) const
Add a new error level logging event containing message and location to attached appender(s) without f...
static bool isDebugEnabledFor(const LoggerPtr &logger)
Is logger is enabled for DEBUG level logging events?
Definition log4cxx/logger.h:1265
void warn(const std::wstring &msg) const
Add a new logging event containing msg to attached appender(s) if this logger is enabled for WARN eve...
AppenderPtr getAppender(const LogString &name) const override
Look for the appender named as name.
void setHierarchy(spi::LoggerRepository *repository)
Only the Hierarchy class can set the hierarchy of a logger.
void callAppenders(const spi::LoggingEventPtr &event, helpers::Pool &p) const
Call the appenders in the hierrachy starting at this.
void debug(const std::wstring &msg) const
Add a new logging event containing msg to attached appender(s) if this logger is enabled for DEBUG ev...
void l7dlog(const LevelPtr &level, const std::wstring &key, const log4cxx::spi::LocationInfo &locationInfo) const
Add a new logging event containing locationInfo and the localized message key to attached appender(s)...
void trace(const std::basic_string< UniChar > &msg, const log4cxx::spi::LocationInfo &location) const
Add a new logging event containing msg to attached appender(s) if this logger is enabled for TRACE ev...
void l7dlog(const LevelPtr &level, const std::string &key, const log4cxx::spi::LocationInfo &locationInfo, const std::string &val1, const std::string &val2) const
Add a new logging event containing locationInfo and the localized message key using parameters val1 a...
static bool isFatalEnabledFor(const LoggerPtr &logger)
Is logger is enabled for FATAL level logging events?
Definition log4cxx/logger.h:1377
static LoggerPtr getLogger(const CFStringRef &name)
Retrieve a logger by name.
static LoggerPtr getLogger(const std::wstring &name, const log4cxx::spi::LoggerFactoryPtr &factory)
Like getLogger except that the type of logger instantiated depends on the type returned by the Logger...
void error(const CFStringRef &msg, const log4cxx::spi::LocationInfo &location) const
Add a new logging event containing msg and location to attached appender(s) if this logger is enabled...
void addInfoEvent(helpers::AsyncBuffer &&messageAppender, const spi::LocationInfo &location=spi::LocationInfo::getLocationUnavailable()) const
Add to attached appender(s) a new INFO level LoggingEvent which was requested at sourceLocation where...
void addErrorEvent(std::basic_string< UniChar > &&message, const spi::LocationInfo &location=spi::LocationInfo::getLocationUnavailable()) const
Add a new error level logging event containing message and location to attached appender(s) without f...
void forcedLogLS(const LevelPtr &level, const LogString &message, const log4cxx::spi::LocationInfo &location) const
Add a new logging event containing message and location to attached appender(s) without further check...
void error(const std::basic_string< UniChar > &msg) const
Add a new logging event containing msg to attached appender(s) if this logger is enabled for ERROR ev...
void l7dlog(const LevelPtr &level, const std::basic_string< UniChar > &key, const log4cxx::spi::LocationInfo &locationInfo, const std::basic_string< UniChar > &val) const
Add a new logging event containing locationInfo and the localized message key using parameter val to ...
void fatal(const std::basic_string< UniChar > &msg) const
Add a new logging event containing msg to attached appender(s) if this logger is enabled for FATAL ev...
Logger(const LogString &name)
This constructor initializes a new logger instance and sets its name.
void changeParentTo(const LoggerPtr &otherLogger)
Definition log4cxx/logger.h:1909
void addFatalEvent(std::string &&message, const spi::LocationInfo &location=spi::LocationInfo::getLocationUnavailable()) const
Add a new fatal level logging event containing message and location to attached appender(s) without f...
static bool isInfoEnabledFor(const LoggerPtr &logger)
Is logger is enabled for INFO level logging events?
Definition log4cxx/logger.h:1299
static LoggerPtr getLogger(const std::string &name)
Retrieve a logger by name in current encoding.
bool replaceAppender(const AppenderPtr &oldAppender, const AppenderPtr &newAppender) LOG4CXX_16_VIRTUAL_SPECIFIER
Replace oldAppender with newAppender.
bool isDebugEnabled() const
Is this logger is enabled for DEBUG level logging events?
const LevelPtr & getLevel() const
The assigned Level, if any, for this logger.
void removeHierarchy()
Only the Hierarchy class can remove the hierarchy of a logger.
void error(const std::string &msg, const log4cxx::spi::LocationInfo &location) const
Add a new logging event containing msg and location to attached appender(s) if this logger is enabled...
void forcedLog(const LevelPtr &level, const std::wstring &message, const log4cxx::spi::LocationInfo &location) const
Add a new logging event containing message and location to attached appender(s) without further check...
void info(const std::wstring &msg, const log4cxx::spi::LocationInfo &location) const
Add a new logging event containing msg to attached appender(s) if this logger is enabled for INFO eve...
void getName(std::string &name) const
Put name of this logger into name in current encoding.
void forcedLog(const LevelPtr &level, const std::wstring &message) const
Add a new logging event containing message to attached appender(s) without further checks.
void l7dlog(const LevelPtr &level, const std::basic_string< UniChar > &key, const log4cxx::spi::LocationInfo &locationInfo) const
Add a new logging event containing locationInfo and the localized message key to attached appender(s)...
void fatal(const std::string &msg, const log4cxx::spi::LocationInfo &location) const
Add a new logging event containing msg and location to attached appender(s) if this logger is enabled...
void log(const LevelPtr &level, const std::string &message, const log4cxx::spi::LocationInfo &location) const
Add a new logging event containing message and location to the appenders attached to this logger if t...
void addErrorEvent(helpers::AsyncBuffer &&messageAppender, const spi::LocationInfo &location=spi::LocationInfo::getLocationUnavailable()) const
Add to attached appender(s) a new ERROR level LoggingEvent which was requested at sourceLocation wher...
void fatal(const std::basic_string< UniChar > &msg, const log4cxx::spi::LocationInfo &location) const
Add a new logging event containing msg and location to attached appender(s) if this logger is enabled...
void fatal(const CFStringRef &msg, const log4cxx::spi::LocationInfo &location) const
Add a new logging event containing msg and location to attached appender(s) if this logger is enabled...
bool getAdditivity() const
Get the additivity flag for this logger.
void getName(CFStringRef &name) const
Put name of this logger into name.
static LoggerPtr getRootLogger()
Retrieve the root logger.
void trace(const std::wstring &msg, const log4cxx::spi::LocationInfo &location) const
Add a new logging event containing msg to attached appender(s) if this logger is enabled for TRACE ev...
void log(const LevelPtr &level, const CFStringRef &message, const log4cxx::spi::LocationInfo &location) const
Add a new logging event containing message and location to the appenders attached to this logger if t...
void addTraceEvent(std::basic_string< UniChar > &&message, const spi::LocationInfo &location=spi::LocationInfo::getLocationUnavailable()) const
Add a new trace level logging event containing message and location to attached appender(s) without f...
void addTraceEvent(helpers::AsyncBuffer &&messageAppender, const spi::LocationInfo &location=spi::LocationInfo::getLocationUnavailable()) const
Add to attached appender(s) a new TRACE level LoggingEvent which was requested at sourceLocation wher...
void addDebugEvent(std::basic_string< UniChar > &&message, const spi::LocationInfo &location=spi::LocationInfo::getLocationUnavailable()) const
Add a new debug level logging event containing message and location to attached appender(s) without f...
void warn(const std::basic_string< UniChar > &msg, const log4cxx::spi::LocationInfo &location) const
Add a new logging event containing msg to attached appender(s) if this logger is enabled for WARN eve...
void trace(const CFStringRef &msg, const log4cxx::spi::LocationInfo &location) const
Add a new logging event containing msg to attached appender(s) if this logger is enabled for TRACE ev...
LoggerPtr getParent() const
The parent of this logger.
void updateThreshold()
Only the Hierarchy class can change the threshold of a logger.
void l7dlog(const LevelPtr &level, const std::wstring &key, const log4cxx::spi::LocationInfo &locationInfo, const std::wstring &val1, const std::wstring &val2) const
Add a new logging event containing locationInfo and the localized message key using parameters val1 a...
void l7dlog(const LevelPtr &level, const LogString &key, const log4cxx::spi::LocationInfo &locationInfo, const std::vector< LogString > &values) const
Add a new logging event containing locationInfo and the localized message key using values for parame...
void forcedLog(const LevelPtr &level, const std::string &message, const log4cxx::spi::LocationInfo &location) const
Add a new logging event containing message and location to attached appender(s) without further check...
void l7dlog(const LevelPtr &level, const std::wstring &key, const log4cxx::spi::LocationInfo &locationInfo, const std::wstring &val1, const std::wstring &val2, const std::wstring &val3) const
Add a new logging event containing locationInfo and the localized message key using parameters val1,...
void l7dlog(const LevelPtr &level, const std::string &key, const log4cxx::spi::LocationInfo &locationInfo) const
Add a new logging event containing locationInfo and the localized message key to attached appender(s)...
void closeNestedAppenders()
Close all attached appenders implementing the AppenderAttachable interface.
void info(const CFStringRef &msg, const log4cxx::spi::LocationInfo &location) const
Add a new logging event containing msg to attached appender(s) if this logger is enabled for INFO eve...
void addErrorEvent(std::string &&message, const spi::LocationInfo &location=spi::LocationInfo::getLocationUnavailable()) const
Add a new error level logging event containing message and location to attached appender(s) without f...
void reconfigure(const AppenderList &newList, bool newAdditivity)
Replace all current appenders with newList and set the additivity flag to newAdditivity.
void info(const std::basic_string< UniChar > &msg, const log4cxx::spi::LocationInfo &location) const
Add a new logging event containing msg to attached appender(s) if this logger is enabled for INFO eve...
void info(const CFStringRef &msg) const
Add a new logging event containing msg to attached appender(s) if this logger is enabled for INFO eve...
void debug(const std::wstring &msg, const log4cxx::spi::LocationInfo &location) const
Add a new logging event containing msg and location to attached appender(s) if this logger is enabled...
void l7dlog(const LevelPtr &level, const CFStringRef &key, const log4cxx::spi::LocationInfo &locationInfo, const CFStringRef &val1, const CFStringRef &val2, const CFStringRef &val3) const
Add a new logging event containing locationInfo and the localized message key using parameters val1,...
void addWarnEvent(helpers::AsyncBuffer &&messageAppender, const spi::LocationInfo &location=spi::LocationInfo::getLocationUnavailable()) const
Add to attached appender(s) a new WARN level LoggingEvent which was requested at sourceLocation where...
void getName(std::basic_string< UniChar > &name) const
Put name of this logger into name.
void addInfoEvent(std::wstring &&message, const spi::LocationInfo &location=spi::LocationInfo::getLocationUnavailable()) const
Add a new info level logging event containing message and location to attached appender(s) without fu...
void addDebugEvent(std::string &&message, const spi::LocationInfo &location=spi::LocationInfo::getLocationUnavailable()) const
Add a new debug level logging event containing message and location to attached appender(s) without f...
void trace(const CFStringRef &msg) const
Add a new logging event containing msg to attached appender(s) if this logger is enabled for TRACE ev...
bool isThresholdValid() const
Is m_threshold the same as getEffectiveLevel()->toInt()
void removeAppender(const AppenderPtr appender) override
Remove the appender passed as parameter form the list of appenders.
static bool isTraceEnabledFor(const LoggerPtr &logger)
Is logger is enabled for TRACE level logging events?
Definition log4cxx/logger.h:1403
void l7dlog(const LevelPtr &level, const CFStringRef &key, const log4cxx::spi::LocationInfo &locationInfo, const CFStringRef &val1) const
Add a new logging event containing locationInfo and the localized message key using parameter val to ...
void debug(const std::string &msg) const
Add a new logging event containing msg to attached appender(s) if this logger is enabled for DEBUG ev...
bool isErrorEnabled() const
Is this logger is enabled for ERROR level logging events?
void addAppender(const AppenderPtr newAppender) override
Add newAppender to the list of appenders of this Logger instance.
void addTraceEvent(std::string &&message, const spi::LocationInfo &location=spi::LocationInfo::getLocationUnavailable()) const
Add a new trace level logging event containing message and location to attached appender(s) without f...
void forcedLog(const LevelPtr &level, const std::string &message) const
Add a new logging event containing message to attached appender(s) without further checks.
bool isTraceEnabled() const
Is this logger is enabled for TRACE level logging events?
This class is used by the LOG4CXX_INFO_ASYNC and similar macros to support insertion operators.
Definition asyncbuffer.h:56
This Interface is for attaching Appenders to objects.
Definition appenderattachable.h:33
This class represents the location of a logging statement.
Definition locationinfo.h:40
static const LocationInfo & getLocationUnavailable()
Implement this interface to create new instances of Logger or a sub-class of Logger.
Definition loggerfactory.h:33
A LoggerRepository is used to create and retrieve Loggers.
Definition loggerrepository.h:43
const struct __CFString * CFStringRef
Definition logstring.h:30
std::shared_ptr< LoggerRepository > LoggerRepositoryPtr
Definition optionconverter.h:33
LOG4CXX_PTR_DEF(LoggerRepository)
std::shared_ptr< LoggingEvent > LoggingEventPtr
Definition appender.h:32
LOG4CXX_LIST_DEF(AppenderList, AppenderPtr)
std::basic_string< logchar > LogString
Definition logstring.h:60
std::shared_ptr< Level > LevelPtr
Definition optionconverter.h:28
LOG4CXX_PTR_DEF(Appender)
std::shared_ptr< Appender > AppenderPtr
Definition basicconfigurator.h:29
std::shared_ptr< Logger > LoggerPtr
Definition defaultloggerfactory.h:27
std::vector< LoggerPtr > LoggerList
Definition logmanager.h:29
#define LOG4CXX_CAST_ENTRY(Interface)
Definition object.h:154
#define DECLARE_ABSTRACT_LOG4CXX_OBJECT(object)
Definition object.h:37
#define END_LOG4CXX_CAST_MAP()
Definition object.h:148
#define BEGIN_LOG4CXX_CAST_MAP()
Definition object.h:142
#define LOG4CXX_16_VIRTUAL_SPECIFIER
Definition socket.h:109