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

swebb2066 pushed a commit to branch property_file_configuration
in repository https://gitbox.apache.org/repos/asf/logging-log4cxx.git

commit f0913ac60f115827ed150766e8457195d94e2bd8
Author: Stephen Webb <[email protected]>
AuthorDate: Tue Dec 23 17:20:19 2025 +1100

    Allow use of  type variable in a properties configuration file
---
 src/test/cpp/autoconfiguretestcase.cpp                | 17 ++++++++++++++++-
 src/test/resources/input/autoConfigureTest.properties |  2 +-
 2 files changed, 17 insertions(+), 2 deletions(-)

diff --git a/src/test/cpp/autoconfiguretestcase.cpp 
b/src/test/cpp/autoconfiguretestcase.cpp
index da634bee..b4620c3d 100644
--- a/src/test/cpp/autoconfiguretestcase.cpp
+++ b/src/test/cpp/autoconfiguretestcase.cpp
@@ -17,6 +17,7 @@
 #include "logunit.h"
 #include <log4cxx/logger.h>
 #include <log4cxx/logmanager.h>
+#include <log4cxx/fileappender.h>
 #include <log4cxx/defaultconfigurator.h>
 #include <log4cxx/helpers/bytebuffer.h>
 #include <log4cxx/helpers/exception.h>
@@ -57,6 +58,7 @@ using namespace log4cxx;
 LOGUNIT_CLASS(AutoConfigureTestCase)
 {
        LOGUNIT_TEST_SUITE(AutoConfigureTestCase);
+       LOGUNIT_TEST(testSetup);
        LOGUNIT_TEST(test1);
        LOGUNIT_TEST(test2);
        LOGUNIT_TEST_SUITE_END();
@@ -120,7 +122,20 @@ public:
                apr_sleep(200000);
        }
 
-       void test1()    
+       void testSetup()
+       {
+               auto fa = 
LOG4CXX_NS::cast<FileAppender>(LogManager::getRootLogger()->getAppender(LOG4CXX_STR("A1")));
+               LOGUNIT_ASSERT(fa);
+#if LOG4CXX_HAS_FILESYSTEM_PATH
+               auto fileName = 
spi::Configurator::properties().getProperty(LOG4CXX_STR("PROGRAM_FILE_PATH.STEM"));
+#else
+               LogString fileName = LOG4CXX_STR("autoconfiguretestcase");
+#endif
+               File logFile(fa->getFile());
+               LOGUNIT_ASSERT_EQUAL(fileName + LOG4CXX_STR(".log"), 
logFile.getName());
+       }
+
+       void test1()
        {
                LOGUNIT_ASSERT_EQUAL(m_status, 
spi::ConfigurationStatus::Configured);
                LOGUNIT_ASSERT(File(m_configFile).exists(m_pool));
diff --git a/src/test/resources/input/autoConfigureTest.properties 
b/src/test/resources/input/autoConfigureTest.properties
index 1187d130..b91cf129 100644
--- a/src/test/resources/input/autoConfigureTest.properties
+++ b/src/test/resources/input/autoConfigureTest.properties
@@ -16,7 +16,7 @@
 log4j.rootCategory=INFO, A1
 
 log4j.appender.A1=org.apache.log4j.FileAppender
-log4j.appender.A1.File=output/autoConfigureTest.log
+log4j.appender.A1.File=output/${PROGRAM_FILE_PATH.STEM}.log
 log4j.appender.A1.Append=false
 log4j.appender.A1.layout=org.apache.log4j.PatternLayout
 log4j.appender.A1.layout.ConversionPattern=%m%n

Reply via email to