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 2026/09/20 16:49:54 UTC

(logging-log4cxx) 01/01: Allow plugins to not be in log4cxx namespace

This is an automated email from the ASF dual-hosted git repository.

rm5248 pushed a commit to branch fix-plugins-not-in-log4cxx-namespace
in repository https://gitbox.apache.org/repos/asf/logging-log4cxx.git

commit faaefc6889a47a2db934d49432849d55d0ff2e89
Author: Robert Middleton <ro...@rm5248.com>
AuthorDate: Sun Sep 20 12:49:39 2026 -0400

    Allow plugins to not be in log4cxx namespace
---
 src/examples/cpp/custom-appender.cpp      | 14 ++++++--------
 src/main/include/log4cxx/appender.h       |  2 +-
 src/main/include/log4cxx/helpers/object.h | 16 ++++++++--------
 3 files changed, 15 insertions(+), 17 deletions(-)

diff --git a/src/examples/cpp/custom-appender.cpp b/src/examples/cpp/custom-appender.cpp
index cd67f1de..1c08f6e2 100644
--- a/src/examples/cpp/custom-appender.cpp
+++ b/src/examples/cpp/custom-appender.cpp
@@ -20,11 +20,9 @@
 #include <log4cxx/helpers/stringhelper.h>
 #include <log4cxx/xml/domconfigurator.h>
 
-using namespace LOG4CXX_NS;
-
 namespace com::foo {
 
-class NullWriterAppender : public AppenderSkeleton {
+class NullWriterAppender : public log4cxx::AppenderSkeleton {
 public:
 	DECLARE_LOG4CXX_OBJECT(NullWriterAppender)
 	BEGIN_LOG4CXX_CAST_MAP()
@@ -52,8 +50,8 @@ public:
 		// Given all of our options, do something useful(e.g. open a file)
 	}
 
-	void setOption(const LogString& option, const LogString& value) override {
-		if (helpers::StringHelper::equalsIgnoreCase
+	void setOption(const log4cxx::LogString& option, const log4cxx::LogString& value) override {
+		if (log4cxx::helpers::StringHelper::equalsIgnoreCase
 			( option
 			, LOG4CXX_STR("SOMEVALUE")
 			, LOG4CXX_STR("somevalue")
@@ -70,10 +68,10 @@ IMPLEMENT_LOG4CXX_OBJECT(NullWriterAppender)
 
 int main( int argc, char** argv )
 {
-	xml::DOMConfigurator::configure( "custom-appender.xml" );
+	LOG4CXX_NS::xml::DOMConfigurator::configure( "custom-appender.xml" );
 
-	LoggerPtr rootLogger = Logger::getRootLogger();
-	LoggerPtr nullLogger = Logger::getLogger( "NullLogger" );
+	log4cxx::LoggerPtr rootLogger = log4cxx::Logger::getRootLogger();
+	log4cxx::LoggerPtr nullLogger = log4cxx::Logger::getLogger( "NullLogger" );
 
 	LOG4CXX_INFO( rootLogger, "This is some root message" );
 	LOG4CXX_INFO( nullLogger, "This message will be discarded" );
diff --git a/src/main/include/log4cxx/appender.h b/src/main/include/log4cxx/appender.h
index 45878b5c..053345ad 100644
--- a/src/main/include/log4cxx/appender.h
+++ b/src/main/include/log4cxx/appender.h
@@ -99,7 +99,7 @@ class LOG4CXX_EXPORT Appender
 		virtual void doAppend(const spi::LoggingEventPtr& event,
 			LOG4CXX_NS::helpers::Pool& pool) = 0;
 #else
-#define LOG4CXX_APPEND_FORMAL_PARAMETERS const spi::LoggingEventPtr& event
+#define LOG4CXX_APPEND_FORMAL_PARAMETERS const ::LOG4CXX_NS::spi::LoggingEventPtr& event
 #define LOG4CXX_APPEND_PARAMETERS event
 		virtual void doAppend(const spi::LoggingEventPtr& event) = 0;
 		/**
diff --git a/src/main/include/log4cxx/helpers/object.h b/src/main/include/log4cxx/helpers/object.h
index 566d1eaa..4d9dbf62 100644
--- a/src/main/include/log4cxx/helpers/object.h
+++ b/src/main/include/log4cxx/helpers/object.h
@@ -43,15 +43,15 @@
 	class Clazz##object : public LOG4CXX_NS::helpers::Class\
 	{\
 		public:\
-			LogString getName() const override { return LOG4CXX_STR(#object); }\
+			::LOG4CXX_NS::LogString getName() const override { return LOG4CXX_STR(#object); }\
 			object* newInstance() const override\
 			{\
 				return new object();\
 			}\
 	};\
-	const helpers::Class& getClass() const override;\
-	static const helpers::Class& getStaticClass(); \
-	static const helpers::ClassRegistration& registerClass();
+	const ::LOG4CXX_NS::helpers::Class& getClass() const override;\
+	static const ::LOG4CXX_NS::helpers::Class& getStaticClass(); \
+	static const ::LOG4CXX_NS::helpers::ClassRegistration& registerClass();
 
 #define DECLARE_LOG4CXX_OBJECT_WITH_CUSTOM_CLASS(object, class)\
 	public:\
@@ -70,7 +70,7 @@
 		return classReg; \
 	}\
 	namespace LOG4CXX_NS { namespace classes { \
-	const helpers::ClassRegistration& object##Registration = object::registerClass(); \
+	const ::LOG4CXX_NS::helpers::ClassRegistration& object##Registration = object::registerClass(); \
 	} }
 
 
@@ -140,15 +140,15 @@ std::shared_ptr<Ret> cast(const std::shared_ptr<Type>& incoming)
 }
 
 #define BEGIN_LOG4CXX_CAST_MAP()\
-	const void * cast(const helpers::Class& clazz) const override\
+	const void * cast(const ::LOG4CXX_NS::helpers::Class& clazz) const override\
 	{\
 		const void * object = 0;\
-		if (&clazz == &helpers::Object::getStaticClass()) return (const helpers::Object *)this;
+		if (&clazz == &::LOG4CXX_NS::helpers::Object::getStaticClass()) return (const ::LOG4CXX_NS::helpers::Object *)this;
 
 #define END_LOG4CXX_CAST_MAP()\
 	return object;\
 	}\
-	bool instanceof(const helpers::Class& clazz) const override\
+	bool instanceof(const ::LOG4CXX_NS::helpers::Class& clazz) const override\
 	{ return cast(clazz) != 0; }
 
 #define LOG4CXX_CAST_ENTRY(Interface)\