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
