You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by rm...@apache.org on 2022/08/14 03:11:13 UTC

[logging-log4cxx] 04/04: Optionally configure for networking support or not

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 <ro...@rm5248.com>
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)