This is an automated email from the ASF dual-hosted git repository. rmiddleton pushed a commit to branch fix-fmt-macros in repository https://gitbox.apache.org/repos/asf/logging-log4cxx.git
commit e9c4fc9e08814fbda86f2d345115b4e7575531c6 Author: Robert Middleton <[email protected]> AuthorDate: Sun Feb 4 11:41:07 2024 -0500 When using C++20, optionally add in comma for varargs --- src/main/include/log4cxx/logger.h | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/src/main/include/log4cxx/logger.h b/src/main/include/log4cxx/logger.h index 697beef1..735bf4b9 100644 --- a/src/main/include/log4cxx/logger.h +++ b/src/main/include/log4cxx/logger.h @@ -2085,6 +2085,12 @@ LOG4CXX_LIST_DEF(LoggerList, LoggerPtr); #define LOG4CXX_STACKTRACE #endif +#if __cplusplus >= 202002L + #define LOG4CXX_FMT_VA_ARG(...) __VA_OPT__(,) __VA_ARGS__ +#else + #define LOG4CXX_FMT_VA_ARG(...) , __VA_ARGS__ +#endif + /** Add a new logging event containing \c message to attached appender(s) if this logger is enabled for \c events. @@ -2108,7 +2114,7 @@ Add a new logging event containing a message defined by \c fmt and <code>...</co */ #define LOG4CXX_LOG_FMT(logger, level, fmt, ...) do { \ if (logger->isEnabledFor(level)) {\ - logger->addEvent(level, ::LOG4CXX_FORMAT_NS::format(fmt, __VA_ARGS__ ), LOG4CXX_LOCATION); }} while (0) + logger->addEvent(level, ::LOG4CXX_FORMAT_NS::format(fmt LOG4CXX_FMT_VA_ARG(__VA_ARGS__) ), LOG4CXX_LOCATION); }} while (0) /** Add a new logging event containing \c message to attached appender(s) if this logger is enabled for \c events. @@ -2168,7 +2174,7 @@ LOG4CXX_DEBUG_FMT(m_log, "AddMesh: name {} type 0x{x} materialName {} visible? { */ #define LOG4CXX_DEBUG_FMT(logger, fmt, ...) do { \ if (LOG4CXX_UNLIKELY(::LOG4CXX_NS::Logger::isDebugEnabledFor(logger))) {\ - logger->addDebugEvent(::LOG4CXX_FORMAT_NS::format(fmt, __VA_ARGS__ ), LOG4CXX_LOCATION); }} while (0) + logger->addDebugEvent(::LOG4CXX_FORMAT_NS::format(fmt LOG4CXX_FMT_VA_ARG(__VA_ARGS__) ), LOG4CXX_LOCATION); }} while (0) #else #define LOG4CXX_DEBUG(logger, message) #define LOG4CXX_DEBUG_FMT(logger, fmt, ...) @@ -2205,7 +2211,7 @@ Add a new logging event containing a message defined by \c fmt and <code>...</co */ #define LOG4CXX_TRACE_FMT(logger, fmt, ...) do { \ if (LOG4CXX_UNLIKELY(::LOG4CXX_NS::Logger::isTraceEnabledFor(logger))) {\ - logger->addTraceEvent(::LOG4CXX_FORMAT_NS::format(fmt, __VA_ARGS__ ), LOG4CXX_LOCATION); }} while (0) + logger->addTraceEvent(::LOG4CXX_FORMAT_NS::format(fmt LOG4CXX_FMT_VA_ARG(__VA_ARGS__)), LOG4CXX_LOCATION); }} while (0) #else #define LOG4CXX_TRACE(logger, message) #define LOG4CXX_TRACE_FMT(logger, fmt, ...) @@ -2251,7 +2257,7 @@ LOG4CXX_INFO_FMT(m_log, "{} successfully planned {:.1f}% planned area {:.4f}m^2 */ #define LOG4CXX_INFO_FMT(logger, fmt, ...) do { \ if (::LOG4CXX_NS::Logger::isInfoEnabledFor(logger)) {\ - logger->addInfoEvent(::LOG4CXX_FORMAT_NS::format(fmt, __VA_ARGS__ ), LOG4CXX_LOCATION); }} while (0) + logger->addInfoEvent(::LOG4CXX_FORMAT_NS::format(fmt LOG4CXX_FMT_VA_ARG(__VA_ARGS__)), LOG4CXX_LOCATION); }} while (0) #else #define LOG4CXX_INFO(logger, message) #define LOG4CXX_INFO_FMT(logger, fmt, ...) @@ -2294,7 +2300,7 @@ catch (const std::exception& ex) */ #define LOG4CXX_WARN_FMT(logger, fmt, ...) do { \ if (::LOG4CXX_NS::Logger::isWarnEnabledFor(logger)) {\ - logger->addEvent(::LOG4CXX_NS::Level::getWarn(), ::LOG4CXX_FORMAT_NS::format(fmt, __VA_ARGS__ ), LOG4CXX_LOCATION); }} while (0) + logger->addEvent(::LOG4CXX_NS::Level::getWarn(), ::LOG4CXX_FORMAT_NS::format(fmt LOG4CXX_FMT_VA_ARG(__VA_ARGS__)), LOG4CXX_LOCATION); }} while (0) #else #define LOG4CXX_WARN(logger, message) #define LOG4CXX_WARN_FMT(logger, fmt, ...) @@ -2337,7 +2343,7 @@ catch (std::exception& ex) */ #define LOG4CXX_ERROR_FMT(logger, fmt, ...) do { \ if (::LOG4CXX_NS::Logger::isErrorEnabledFor(logger)) {\ - logger->addEvent(::LOG4CXX_NS::Level::getError(), ::LOG4CXX_FORMAT_NS::format(fmt, __VA_ARGS__ ), LOG4CXX_LOCATION); }} while (0) + logger->addEvent(::LOG4CXX_NS::Level::getError(), ::LOG4CXX_FORMAT_NS::format(fmt LOG4CXX_FMT_VA_ARG(__VA_ARGS__)), LOG4CXX_LOCATION); }} while (0) /** If \c condition is not true, add a new logging event containing \c message to attached appender(s) if \c logger is enabled for <code>ERROR</code> events. @@ -2365,7 +2371,7 @@ if \c logger is enabled for <code>ERROR</code> events. #define LOG4CXX_ASSERT_FMT(logger, condition, fmt, ...) do { \ if (!(condition) && ::LOG4CXX_NS::Logger::isErrorEnabledFor(logger)) {\ LOG4CXX_STACKTRACE \ - logger->addEvent(::LOG4CXX_NS::Level::getError(), ::LOG4CXX_FORMAT_NS::format(fmt, __VA_ARGS__ ), LOG4CXX_LOCATION); }} while (0) + logger->addEvent(::LOG4CXX_NS::Level::getError(), ::LOG4CXX_FORMAT_NS::format(fmt LOG4CXX_FMT_VA_ARG(__VA_ARGS__)), LOG4CXX_LOCATION); }} while (0) #else #define LOG4CXX_ERROR(logger, message) @@ -2405,7 +2411,7 @@ LOG4CXX_FATAL_FMT(m_log, "{} is not supported", m_renderSystem->getName()); */ #define LOG4CXX_FATAL_FMT(logger, fmt, ...) do { \ if (::LOG4CXX_NS::Logger::isFatalEnabledFor(logger)) {\ - logger->addEvent(::LOG4CXX_NS::Level::getFatal(), ::LOG4CXX_FORMAT_NS::format(fmt, __VA_ARGS__ ), LOG4CXX_LOCATION); }} while (0) + logger->addEvent(::LOG4CXX_NS::Level::getFatal(), ::LOG4CXX_FORMAT_NS::format(fmt LOG4CXX_FMT_VA_ARG(__VA_ARGS__)), LOG4CXX_LOCATION); }} while (0) #else #define LOG4CXX_FATAL(logger, message) #define LOG4CXX_FATAL_FMT(logger, fmt, ...)
