This is an automated email from the ASF dual-hosted git repository. rmiddleton pushed a commit to branch LOGCXX-549 in repository https://gitbox.apache.org/repos/asf/logging-log4cxx.git
commit 53355a7f06e2b8f1c7e2e5939a0f4ddb0c5c2635 Author: Robert Middleton <[email protected]> AuthorDate: Sat Aug 13 23:10:50 2022 -0400 Optionally configure for networking support or not --- CMakeLists.txt | 16 +++++++++++++++- src/main/cpp/CMakeLists.txt | 37 +++++++++++++++++++++++-------------- src/main/cpp/class.cpp | 14 ++++++-------- src/main/include/CMakeLists.txt | 4 ++-- src/test/cpp/helpers/CMakeLists.txt | 6 +++++- src/test/cpp/net/CMakeLists.txt | 17 +++++++++++------ 6 files changed, 62 insertions(+), 32 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2e95bdcd..c386d5cb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -242,7 +242,7 @@ message(STATUS " charset ......................... : ${LOG4CXX_CHARSET}") message(STATUS " Using libESMTP .................. : ${HAS_LIBESMTP}") message(STATUS " ODBC library .................... : ${HAS_ODBC}") message(STATUS " syslog .......................... : ${HAS_SYSLOG}") -message(STATUS " Networking support .............. : ${NETWORKING_SUPPORT}") +message(STATUS " Networking support .............. : ${LOG4CXX_NETWORKING_SUPPORT}") message(STATUS " Qt support ...................... : ${LOG4CXX_QT_SUPPORT}") message(STATUS "C++ version and Boost settings:") message(STATUS " Prefer boost: ................... : ${PREFER_BOOST}") @@ -258,3 +258,17 @@ message(STATUS " zip ............................. : ${ZIP_APP}") message(STATUS " sed ............................. : ${SED_APP}") message(STATUS " gzip ............................ : ${GZIP_APP}") endif(BUILD_TESTING) + +message(STATUS "Available appenders:") +message(STATUS " Async Appender .................. : ON") +message(STATUS " ODBC Appender ................... : ${HAS_ODBC}") +message(STATUS " SMTP Appender ................... : ${HAS_LIBESMTP}") +message(STATUS " XMLSocketAppender ............... : ${LOG4CXX_NETWORKING_SUPPORT}") +message(STATUS " SocketHubAppender ............... : ${LOG4CXX_NETWORKING_SUPPORT}") +message(STATUS " SyslogAppender .................. : ${LOG4CXX_NETWORKING_SUPPORT}") +message(STATUS " TelnetAppender .................. : ${LOG4CXX_NETWORKING_SUPPORT}") +message(STATUS " NTEventLogAppender .............. : ${LOG4CXX_NETWORKING_SUPPORT}") +message(STATUS " OutputDebugStringAppender ....... : ${LOG4CXX_NETWORKING_SUPPORT}") +message(STATUS " ConsoleAppender ................. : ON") +message(STATUS " FileAppender .................... : ON") +message(STATUS " RollingFileAppender ............. : ON") diff --git a/src/main/cpp/CMakeLists.txt b/src/main/cpp/CMakeLists.txt index e8f8d905..065a7dee 100644 --- a/src/main/cpp/CMakeLists.txt +++ b/src/main/cpp/CMakeLists.txt @@ -27,6 +27,28 @@ else() target_compile_definitions(log4cxx PUBLIC LOG4CXX_STATIC) endif() add_dependencies(log4cxx configure_log4cxx) + +if(LOG4CXX_NETWORKING_SUPPORT) + set(networking_classes + datagrampacket.cpp + datagramsocket.cpp + aprdatagramsocket.cpp + serversocket.cpp + aprserversocket.cpp + socket.cpp + aprsocket.cpp + telnetappender.cpp + socketappenderskeleton.cpp + sockethubappender.cpp + socketoutputstream.cpp + xmlsocketappender.cpp + syslogwriter.cpp + syslogappender.cpp + ) +else() + set(networking_classes "") +endif() + target_sources(log4cxx PRIVATE action.cpp @@ -51,9 +73,6 @@ target_sources(log4cxx configurator.cpp consoleappender.cpp cyclicbuffer.cpp - $<IF:$<BOOL:NETWORKING_SUPPORT>,datagrampacket.cpp,> - $<IF:$<BOOL:NETWORKING_SUPPORT>,datagramsocket.cpp,> - $<IF:$<BOOL:NETWORKING_SUPPORT>,aprdatagramsocket.cpp,> date.cpp dateformat.cpp datepatternconverter.cpp @@ -140,28 +159,18 @@ target_sources(log4cxx rollingpolicybase.cpp rolloverdescription.cpp rootlogger.cpp - $<IF:$<BOOL:NETWORKING_SUPPORT>,serversocket.cpp,> - $<IF:$<BOOL:NETWORKING_SUPPORT>,aprserversocket.cpp,> shortfilelocationpatternconverter.cpp simpledateformat.cpp simplelayout.cpp sizebasedtriggeringpolicy.cpp smtpappender.cpp - $<IF:$<BOOL:NETWORKING_SUPPORT>,socket.cpp,> - $<IF:$<BOOL:NETWORKING_SUPPORT>,aprsocket.cpp,> - socketappenderskeleton.cpp - sockethubappender.cpp - socketoutputstream.cpp strftimedateformat.cpp stringhelper.cpp stringmatchfilter.cpp stringtokenizer.cpp - syslogappender.cpp - syslogwriter.cpp system.cpp systemerrwriter.cpp systemoutwriter.cpp - telnetappender.cpp threadlocal.cpp threadpatternconverter.cpp threadusernamepatternconverter.cpp @@ -176,8 +185,8 @@ target_sources(log4cxx writer.cpp writerappender.cpp xmllayout.cpp - xmlsocketappender.cpp zipcompressaction.cpp + ${networking_classes} ) set_target_properties(log4cxx PROPERTIES VERSION ${LIBLOG4CXX_LIB_VERSION} diff --git a/src/main/cpp/class.cpp b/src/main/cpp/class.cpp index b3d8f659..d608a4d1 100644 --- a/src/main/cpp/class.cpp +++ b/src/main/cpp/class.cpp @@ -176,14 +176,6 @@ void Class::registerClasses() log4cxx::nt::OutputDebugStringAppender::registerClass(); #endif SMTPAppender::registerClass(); -#if APR_HAS_THREADS - SocketHubAppender::registerClass(); -#endif - SyslogAppender::registerClass(); -#if APR_HAS_THREADS - TelnetAppender::registerClass(); -#endif - XMLSocketAppender::registerClass(); HTMLLayout::registerClass(); PatternLayout::registerClass(); SimpleLayout::registerClass(); @@ -200,5 +192,11 @@ void Class::registerClasses() log4cxx::xml::DOMConfigurator::registerClass(); log4cxx::PropertyConfigurator::registerClass(); log4cxx::varia::FallbackErrorHandler::registerClass(); +#if LOG4CXX_HAS_NETWORKING + TelnetAppender::registerClass(); + XMLSocketAppender::registerClass(); + SocketHubAppender::registerClass(); + SyslogAppender::registerClass(); +#endif } diff --git a/src/main/include/CMakeLists.txt b/src/main/include/CMakeLists.txt index 576701f7..d21ecdac 100644 --- a/src/main/include/CMakeLists.txt +++ b/src/main/include/CMakeLists.txt @@ -58,8 +58,8 @@ foreach(varName WCHAR_T UNICHAR CFSTRING ) endif() endforeach() -option(NETWORKING_SUPPORT "Support logging over a network socket" ON) -if(NETWORKING_SUPPORT) +option(LOG4CXX_NETWORKING_SUPPORT "Support logging over a network socket" ON) +if(LOG4CXX_NETWORKING_SUPPORT) set(NETWORKING_SUPPORT 1) else() set(NETWORKING_SUPPORT 0) diff --git a/src/test/cpp/helpers/CMakeLists.txt b/src/test/cpp/helpers/CMakeLists.txt index e8921c81..fe07d973 100644 --- a/src/test/cpp/helpers/CMakeLists.txt +++ b/src/test/cpp/helpers/CMakeLists.txt @@ -32,11 +32,15 @@ set(HELPER_TESTS relativetimedateformattestcase stringhelpertestcase stringtokenizertestcase - syslogwritertest timezonetestcase transcodertestcase threadutilitytestcase ) + +if(LOG4CXX_NETWORKING_SUPPORT) + list(APPEND HELPER_TESTS syslogwritertest) +endif() + foreach(fileName IN LISTS HELPER_TESTS) add_executable(${fileName} "${fileName}.cpp") target_compile_definitions(${fileName} PRIVATE ${APR_COMPILE_DEFINITIONS} ${APR_UTIL_COMPILE_DEFINITIONS} ) diff --git a/src/test/cpp/net/CMakeLists.txt b/src/test/cpp/net/CMakeLists.txt index 32d3053f..d692f5ef 100644 --- a/src/test/cpp/net/CMakeLists.txt +++ b/src/test/cpp/net/CMakeLists.txt @@ -16,12 +16,17 @@ # # Tests defined in this directory -set(NET_TESTS - sockethubappendertestcase - syslogappendertestcase - telnetappendertestcase - xmlsocketappendertestcase -) +if(LOG4CXX_NETWORKING_SUPPORT) + set(NET_TESTS + sockethubappendertestcase + syslogappendertestcase + telnetappendertestcase + xmlsocketappendertestcase + ) +else() + set(NET_TESTS "") +endif() + if(HAS_LIBESMPT) list(APPEND NET_TESTS smtpappendertestcase) endif(HAS_LIBESMPT)
