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

rmiddleton pushed a commit to branch refactor-apr-classes
in repository https://gitbox.apache.org/repos/asf/logging-log4cxx.git


The following commit(s) were added to refs/heads/refactor-apr-classes by this 
push:
     new 478a84c5 some more pool removals
478a84c5 is described below

commit 478a84c5a92f84b3d9a694d61519e566c060a2a5
Author: Robert Middleton <[email protected]>
AuthorDate: Fri Mar 6 20:25:57 2026 -0500

    some more pool removals
---
 src/main/cpp/CMakeLists.txt                        |  8 ++--
 src/main/cpp/cacheddateformat.cpp                  | 30 +++++++------
 src/main/cpp/date.cpp                              | 14 +++---
 src/main/cpp/file.cpp                              |  2 +-
 src/main/cpp/fileappender.cpp                      |  2 +-
 src/main/cpp/filewatchdog.cpp                      |  4 +-
 src/main/cpp/fixedwindowrollingpolicy.cpp          |  4 +-
 src/main/cpp/fulllocationpatternconverter.cpp      |  5 +--
 src/main/cpp/htmllayout.cpp                        | 13 +++---
 src/main/cpp/inputstreamreader.cpp                 |  3 +-
 src/main/cpp/jsonlayout.cpp                        | 13 +++---
 src/main/cpp/layout.cpp                            |  9 ++--
 src/main/cpp/levelpatternconverter.cpp             |  3 +-
 src/main/cpp/linelocationpatternconverter.cpp      |  5 +--
 src/main/cpp/lineseparatorpatternconverter.cpp     |  6 +--
 src/main/cpp/literalpatternconverter.cpp           |  6 +--
 src/main/cpp/logger.cpp                            | 25 ++++-------
 src/main/cpp/loggerpatternconverter.cpp            |  3 +-
 src/main/cpp/loggingevent.cpp                      |  8 ++--
 src/main/cpp/loggingeventpatternconverter.cpp      |  5 +--
 src/main/cpp/loglog.cpp                            |  4 +-
 src/main/cpp/mdcpatternconverter.cpp               |  3 +-
 src/main/cpp/messagepatternconverter.cpp           |  6 +--
 src/main/cpp/methodlocationpatternconverter.cpp    |  3 +-
 src/main/cpp/ndcpatternconverter.cpp               |  3 +-
 src/main/cpp/optionconverter.cpp                   |  5 +--
 src/main/cpp/properties.cpp                        |  5 +--
 src/main/cpp/propertiespatternconverter.cpp        |  3 +-
 src/main/cpp/propertyconfigurator.cpp              | 17 +++----
 src/main/cpp/propertysetter.cpp                    | 19 ++++----
 src/main/cpp/relativetimedateformat.cpp            |  7 ++-
 src/main/cpp/relativetimepatternconverter.cpp      |  7 ++-
 src/main/cpp/rollingfileappender.cpp               | 52 +++++++++++-----------
 src/main/cpp/shortfilelocationpatternconverter.cpp |  3 +-
 src/main/cpp/simpledateformat.cpp                  |  1 -
 src/main/cpp/simplelayout.cpp                      |  3 +-
 src/main/cpp/threadpatternconverter.cpp            |  3 +-
 src/main/cpp/threadusernamepatternconverter.cpp    |  3 +-
 .../cpp/throwableinformationpatternconverter.cpp   |  3 +-
 src/main/cpp/timebasedrollingpolicy.cpp            |  9 ++--
 src/main/cpp/xmllayout.cpp                         |  7 ++-
 src/main/cpp/xmlsocketappender.cpp                 | 22 +++++----
 src/main/include/log4cxx/config/propertysetter.h   | 18 +++-----
 src/main/include/log4cxx/file.h                    |  2 +-
 src/main/include/log4cxx/helpers/date.h            |  5 ++-
 .../log4cxx/helpers/relativetimedateformat.h       |  3 +-
 src/main/include/log4cxx/htmllayout.h              |  9 ++--
 src/main/include/log4cxx/jsonlayout.h              |  6 +--
 src/main/include/log4cxx/layout.h                  |  6 +--
 src/main/include/log4cxx/logger.h                  |  2 +-
 .../include/log4cxx/net/socketappenderskeleton.h   |  2 +-
 src/main/include/log4cxx/net/xmlsocketappender.h   |  6 +--
 .../log4cxx/pattern/fulllocationpatternconverter.h |  3 +-
 .../log4cxx/pattern/levelpatternconverter.h        |  3 +-
 .../log4cxx/pattern/linelocationpatternconverter.h |  3 +-
 .../pattern/lineseparatorpatternconverter.h        |  6 +--
 .../log4cxx/pattern/literalpatternconverter.h      |  6 +--
 .../log4cxx/pattern/loggerpatternconverter.h       |  3 +-
 .../include/log4cxx/pattern/mdcpatternconverter.h  |  3 +-
 .../log4cxx/pattern/messagepatternconverter.h      |  3 +-
 .../pattern/methodlocationpatternconverter.h       |  3 +-
 .../include/log4cxx/pattern/ndcpatternconverter.h  |  3 +-
 .../log4cxx/pattern/propertiespatternconverter.h   |  3 +-
 .../log4cxx/pattern/relativetimepatternconverter.h |  3 +-
 .../pattern/shortfilelocationpatternconverter.h    |  3 +-
 .../log4cxx/pattern/threadpatternconverter.h       |  3 +-
 .../pattern/threadusernamepatternconverter.h       |  3 +-
 .../pattern/throwableinformationpatternconverter.h |  3 +-
 src/main/include/log4cxx/patternlayout.h           |  3 +-
 .../include/log4cxx/rolling/rollingfileappender.h  |  8 ++--
 .../log4cxx/rolling/timebasedrollingpolicy.h       | 16 +++----
 src/main/include/log4cxx/simplelayout.h            |  5 +--
 src/main/include/log4cxx/xml/xmllayout.h           |  5 +--
 73 files changed, 219 insertions(+), 287 deletions(-)

diff --git a/src/main/cpp/CMakeLists.txt b/src/main/cpp/CMakeLists.txt
index 17264e05..f8556c41 100644
--- a/src/main/cpp/CMakeLists.txt
+++ b/src/main/cpp/CMakeLists.txt
@@ -72,7 +72,10 @@ endif()
 
 if(${ENABLE_APR})
     list(APPEND extra_classes
-        dbappender.cpp
+        dbappender.cpp        
+        inetaddress.cpp
+        odbcappender.cpp
+        pool.cpp
     )
 endif()
 
@@ -126,7 +129,6 @@ target_sources(log4cxx
   hexdump.cpp
   hierarchy.cpp
   htmllayout.cpp
-  inetaddress.cpp
   inputstream.cpp
   inputstreamreader.cpp
   integer.cpp
@@ -164,7 +166,6 @@ target_sources(log4cxx
   mdcpatternconverter.cpp
   ndcpatternconverter.cpp
   nteventlogappender.cpp
-  odbcappender.cpp
   onlyonceerrorhandler.cpp
   optionconverter.cpp
   outputdebugstringappender.cpp
@@ -173,7 +174,6 @@ target_sources(log4cxx
   patternconverter.cpp
   patternlayout.cpp
   patternparser.cpp
-  pool.cpp
   properties.cpp
   propertiespatternconverter.cpp
   propertyconfigurator.cpp
diff --git a/src/main/cpp/cacheddateformat.cpp 
b/src/main/cpp/cacheddateformat.cpp
index d7a37be9..17503d7b 100644
--- a/src/main/cpp/cacheddateformat.cpp
+++ b/src/main/cpp/cacheddateformat.cpp
@@ -21,6 +21,7 @@
 #include <log4cxx/helpers/pool.h>
 #include <limits>
 #include <log4cxx/helpers/exception.h>
+#include <chrono>
 
 using namespace LOG4CXX_NS;
 using namespace LOG4CXX_NS::helpers;
@@ -33,7 +34,7 @@ struct CachedDateFormat::CachedDateFormatPriv
                millisecondStart(0),
                slotBegin(std::numeric_limits<log4cxx_time_t>::min()),
                cache(50, 0x20),
-               expiration(expiration1),
+        expiration(std::chrono::microseconds(expiration1)),
                previousTime(std::numeric_limits<log4cxx_time_t>::min())
        {}
 
@@ -65,7 +66,7 @@ struct CachedDateFormat::CachedDateFormatPriv
         *  Typically 1, use cache for duplicate requests only, or
         *  1000000, use cache for requests within the same integral second.
         */
-       const int expiration;
+    const std::chrono::microseconds expiration;
 
        /**
         *  Date requested in previous conversion.
@@ -154,15 +155,15 @@ int CachedDateFormat::findMillisecondStart(
     const DateFormatPtr& formatter)
 {
 
-    uint64_t slotBegin = 
(std::chrono::duration_cast<std::chrono::milliseconds>(time.time_since_epoch()) 
/ 1000000) * 1000000;
-    uint64_t time_u64 = 
std::chrono::duration_cast<std::chrono::milliseconds>(time.time_since_epoch());
+    std::chrono::milliseconds 
slotBegin((std::chrono::duration_cast<std::chrono::milliseconds>(time.time_since_epoch()).count()
 / 1000000) * 1000000);
+    std::chrono::milliseconds 
time_ms(std::chrono::duration_cast<std::chrono::milliseconds>(time.time_since_epoch()).count());
 
-       if (slotBegin > time)
+    if (slotBegin > time_ms)
        {
-               slotBegin -= 1000000;
+        slotBegin -= std::chrono::milliseconds(1000000);
        }
 
-       int millis = (int) (time - slotBegin) / 1000;
+    int millis = (time_ms - slotBegin).count() / 1000;
 
        // the magic numbers are in microseconds
        int magic = magic1;
@@ -175,7 +176,8 @@ int CachedDateFormat::findMillisecondStart(
        }
 
        LogString plusMagic;
-    formatter->format(plusMagic, slotBegin + magic);
+    std::chrono::milliseconds ms_val(slotBegin + 
std::chrono::milliseconds(magic));
+    formatter->format(plusMagic, log4cxx_time_t(ms_val));
 
        /**
         *   If the string lengths differ then
@@ -199,7 +201,8 @@ int CachedDateFormat::findMillisecondStart(
                                millisecondFormat(millis, formattedMillis, 0);
 
                                LogString plusZero;
-                formatter->format(plusZero, slotBegin);
+                std::chrono::system_clock::time_point tp(slotBegin);
+                formatter->format(plusZero, tp);
 
                                // Test if the next 1..3 characters match the 
magic string, main problem is that magic
                                // available millis in formatted can overlap. 
Therefore the current i is not always the
@@ -264,14 +267,14 @@ void CachedDateFormat::format(LogString& buf, 
log4cxx_time_t now) const
                //       as the last request and a shorter expiration was not 
requested.
                if (now < m_priv->slotBegin + m_priv->expiration
                        && now >= m_priv->slotBegin
-                       && now < m_priv->slotBegin + 1000000L)
+            && now < m_priv->slotBegin + std::chrono::microseconds(1000000L))
                {
                        //
                        //    if there was a millisecond field then update it
                        //
                        if (m_priv->millisecondStart >= 0)
                        {
-                               millisecondFormat((int) ((now - 
m_priv->slotBegin) / 1000), m_priv->cache, m_priv->millisecondStart);
+                millisecondFormat((int) ((now - m_priv->slotBegin) / 
std::chrono::milliseconds(1000)), m_priv->cache, m_priv->millisecondStart);
                        }
 
                        //
@@ -291,11 +294,12 @@ void CachedDateFormat::format(LogString& buf, 
log4cxx_time_t now) const
     m_priv->formatter->format(m_priv->cache, now);
        buf.append(m_priv->cache);
        m_priv->previousTime = now;
-       m_priv->slotBegin = (m_priv->previousTime / 1000000) * 1000000;
+    // TODO fixme
+    //m_priv->slotBegin = (m_priv->previousTime / 
std::chrono::nanoseconds(1000000)) * std::chrono::nanoseconds(1000000);
 
        if (m_priv->slotBegin > m_priv->previousTime)
        {
-               m_priv->slotBegin -= 1000000;
+        m_priv->slotBegin -= std::chrono::nanoseconds(1000000);
        }
 
        //
diff --git a/src/main/cpp/date.cpp b/src/main/cpp/date.cpp
index 3c987d0e..2ae7db02 100644
--- a/src/main/cpp/date.cpp
+++ b/src/main/cpp/date.cpp
@@ -44,20 +44,22 @@ Date::~Date()
 {
 }
 
-log4cxx_time_t Date::getMicrosecondsPerDay()
+std::chrono::microseconds Date::getMicrosecondsPerDay()
 {
-       return 86400000000ull;
+    auto day_duration = std::chrono::hours(24);
+    return std::chrono::duration_cast<std::chrono::microseconds>(day_duration);
 }
 
-log4cxx_time_t Date::getMicrosecondsPerSecond()
+std::chrono::microseconds Date::getMicrosecondsPerSecond()
 {
-       return LOG4CXX_USEC_PER_SEC;
+    auto day_duration = std::chrono::seconds(1);
+    return std::chrono::duration_cast<std::chrono::microseconds>(day_duration);
 }
 
 
 log4cxx_time_t Date::getNextSecond() const
 {
-       return ((time / LOG4CXX_USEC_PER_SEC) + 1) * LOG4CXX_USEC_PER_SEC;
+    return time + std::chrono::seconds(1);
 }
 
 void Date::setGetCurrentTimeFunction(GetCurrentTimeFn fn){
@@ -69,5 +71,5 @@ log4cxx_time_t Date::currentTime(){
 }
 
 log4cxx_time_t Date::getCurrentTimeStd(){
-       return 
std::chrono::duration_cast<std::chrono::microseconds>(std::chrono::system_clock::now().time_since_epoch()).count();
+    return std::chrono::system_clock::now();
 }
diff --git a/src/main/cpp/file.cpp b/src/main/cpp/file.cpp
index ac03996b..e2a22b44 100644
--- a/src/main/cpp/file.cpp
+++ b/src/main/cpp/file.cpp
@@ -200,7 +200,7 @@ size_t File::length() const
 }
 
 
-log4cxx_time_t File::lastModified() const
+std::filesystem::file_time_type File::lastModified() const
 {
     return std::filesystem::last_write_time(m_priv->path);
 }
diff --git a/src/main/cpp/fileappender.cpp b/src/main/cpp/fileappender.cpp
index 5e1007e6..991222a1 100644
--- a/src/main/cpp/fileappender.cpp
+++ b/src/main/cpp/fileappender.cpp
@@ -353,7 +353,7 @@ void FileAppender::setFileInternal(
        {
                char bom[] = { (char) 0xFE, (char) 0xFF };
                ByteBuffer buf(bom, 2);
-               outStream->write(buf, p);
+        outStream->write(buf);
        }
 
        WriterPtr newWriter(createWriter(outStream));
diff --git a/src/main/cpp/filewatchdog.cpp b/src/main/cpp/filewatchdog.cpp
index 62ecb058..d00362c1 100644
--- a/src/main/cpp/filewatchdog.cpp
+++ b/src/main/cpp/filewatchdog.cpp
@@ -49,7 +49,7 @@ struct FileWatchdog::FileWatchdogPrivate{
        The delay to observe between every check.
        By default set DEFAULT_DELAY.*/
        long delay;
-    std::chrono::time_point<std::chrono::system_clock> lastModif;
+    std::filesystem::file_time_type lastModif;
        bool warnedAlready;
        LogString taskName;
        ThreadUtility::ManagerWeakPtr taskManager;
@@ -165,5 +165,5 @@ void FileWatchdog::setDelay(long delay1){
 void FileWatchdog::setFile(const File& filename)
 {
     m_priv->file = filename;
-       m_priv->lastModif = 0;
+    m_priv->lastModif = std::filesystem::file_time_type();
 }
diff --git a/src/main/cpp/fixedwindowrollingpolicy.cpp 
b/src/main/cpp/fixedwindowrollingpolicy.cpp
index b8bbf3d8..6b4f8f72 100644
--- a/src/main/cpp/fixedwindowrollingpolicy.cpp
+++ b/src/main/cpp/fixedwindowrollingpolicy.cpp
@@ -259,7 +259,7 @@ bool FixedWindowRollingPolicy::purge(int lowIndex, int 
highIndex) const
        std::vector<FileRenameActionPtr> renames;
        LogString buf;
        ObjectPtr obj = std::make_shared<Integer>(lowIndex);
-       formatFileName(obj, buf, p);
+    formatFileName(obj, buf);
 
        LogString lowFilename(buf);
 
@@ -320,7 +320,7 @@ bool FixedWindowRollingPolicy::purge(int lowIndex, int 
highIndex) const
                        //     add a rename action to the list
                        buf.erase(buf.begin(), buf.end());
                        obj = std::make_shared<Integer>(i + 1);
-                       formatFileName(obj, buf, p);
+            formatFileName(obj, buf);
 
                        LogString highFilename(buf);
                        LogString renameTo(highFilename);
diff --git a/src/main/cpp/fulllocationpatternconverter.cpp 
b/src/main/cpp/fulllocationpatternconverter.cpp
index 50505275..37672fd3 100644
--- a/src/main/cpp/fulllocationpatternconverter.cpp
+++ b/src/main/cpp/fulllocationpatternconverter.cpp
@@ -43,13 +43,12 @@ PatternConverterPtr 
FullLocationPatternConverter::newInstance(
 
 void FullLocationPatternConverter::format(
        const LoggingEventPtr& event,
-       LogString& toAppendTo,
-       Pool& p) const
+    LogString& toAppendTo) const
 {
        append(toAppendTo, event->getLocationInformation().getFileName());
        toAppendTo.append(1, (logchar) 0x28 /* '(' */);
        StringHelper::toString(
                event->getLocationInformation().getLineNumber(),
-               p, toAppendTo);
+        toAppendTo);
        toAppendTo.append(1, (logchar) 0x29 /* ')' */);
 }
diff --git a/src/main/cpp/htmllayout.cpp b/src/main/cpp/htmllayout.cpp
index bcfce2f1..ee4f8ef3 100644
--- a/src/main/cpp/htmllayout.cpp
+++ b/src/main/cpp/htmllayout.cpp
@@ -81,8 +81,7 @@ void HTMLLayout::setOption(const LogString& option,
 }
 
 void HTMLLayout::format(LogString& output,
-       const spi::LoggingEventPtr& event,
-       Pool& p) const
+    const spi::LoggingEventPtr& event) const
 {
        auto& lsMsg = event->getRenderedMessage();
        output.reserve(m_priv->expectedPatternLength + lsMsg.size());
@@ -91,7 +90,7 @@ void HTMLLayout::format(LogString& output,
        output.append(LOG4CXX_EOL);
        output.append(LOG4CXX_STR("<td>"));
 
-       m_priv->dateFormat.format(output, event->getTimeStamp(), p);
+    m_priv->dateFormat.format(output, event->getTimeStamp());
 
 
        output.append(LOG4CXX_STR("</td>"));
@@ -145,7 +144,7 @@ void HTMLLayout::format(LogString& output,
 
                if (line != 0)
                {
-                       StringHelper::toString(line, p, output);
+            StringHelper::toString(line, output);
                }
 
                output.append(LOG4CXX_STR("</td>"));
@@ -173,7 +172,7 @@ void HTMLLayout::format(LogString& output,
        }
 }
 
-void HTMLLayout::appendHeader(LogString& output, Pool& p)
+void HTMLLayout::appendHeader(LogString& output)
 {
        output.append(LOG4CXX_STR("<!DOCTYPE HTML PUBLIC "));
        output.append(LOG4CXX_STR("\"-//W3C//DTD HTML 4.01 Transitional//EN\" 
"));
@@ -207,7 +206,7 @@ void HTMLLayout::appendHeader(LogString& output, Pool& p)
        output.append(LOG4CXX_EOL);
        output.append(LOG4CXX_STR("Log session start time "));
 
-       m_priv->dateFormat.format(output, Date::currentTime(), p);
+    m_priv->dateFormat.format(output, Date::currentTime());
 
        output.append(LOG4CXX_STR("<br>"));
        output.append(LOG4CXX_EOL);
@@ -238,7 +237,7 @@ void HTMLLayout::appendHeader(LogString& output, Pool& p)
        output.append(LOG4CXX_EOL);
 }
 
-void HTMLLayout::appendFooter(LogString& output, Pool& /* pool */ )
+void HTMLLayout::appendFooter(LogString& output)
 {
        output.append(LOG4CXX_STR("</table>"));
        output.append(LOG4CXX_EOL);
diff --git a/src/main/cpp/inputstreamreader.cpp 
b/src/main/cpp/inputstreamreader.cpp
index 54b12d26..2aefa4ef 100644
--- a/src/main/cpp/inputstreamreader.cpp
+++ b/src/main/cpp/inputstreamreader.cpp
@@ -75,7 +75,8 @@ void InputStreamReader::close()
 LogString InputStreamReader::read()
 {
        const size_t BUFSIZE = 4096;
-       ByteBuffer buf(p.pstralloc(BUFSIZE), BUFSIZE);
+    char buffer[BUFSIZE] = {0};
+    ByteBuffer buf(buffer, BUFSIZE);
        LogString output;
 
        // read whole file
diff --git a/src/main/cpp/jsonlayout.cpp b/src/main/cpp/jsonlayout.cpp
index 54712359..c41ab058 100644
--- a/src/main/cpp/jsonlayout.cpp
+++ b/src/main/cpp/jsonlayout.cpp
@@ -104,7 +104,7 @@ LogString JSONLayout::getContentType() const
        return LOG4CXX_STR("application/json");
 }
 
-void JSONLayout::activateOptions(helpers::Pool& /* p */)
+void JSONLayout::activateOptions()
 {
        m_priv->expectedPatternLength = getFormattedEventCharacterCount() * 2;
 }
@@ -129,8 +129,7 @@ void JSONLayout::setOption(const LogString& option, const 
LogString& value)
 }
 
 void JSONLayout::format(LogString& output,
-       const spi::LoggingEventPtr& event,
-       Pool& p) const
+    const spi::LoggingEventPtr& event) const
 {
        auto& lsMsg = event->getRenderedMessage();
        output.reserve(m_priv->expectedPatternLength + lsMsg.size());
@@ -143,7 +142,7 @@ void JSONLayout::format(LogString& output,
        }
 
        output.append(LOG4CXX_STR("\"timestamp\": \""));
-       m_priv->dateFormat.format(output, event->getTimeStamp(), p);
+    m_priv->dateFormat.format(output, event->getTimeStamp());
        output.append(LOG4CXX_STR("\","));
        output.append(m_priv->prettyPrint ? LOG4CXX_EOL : LOG4CXX_STR(" "));
 
@@ -197,7 +196,7 @@ void JSONLayout::format(LogString& output,
        {
                output.append(LOG4CXX_STR(","));
                output.append(m_priv->prettyPrint ? LOG4CXX_EOL : LOG4CXX_STR(" 
"));
-               appendSerializedLocationInfo(output, event, p);
+        appendSerializedLocationInfo(output, event);
        }
 
        output.append(m_priv->prettyPrint ? LOG4CXX_EOL : LOG4CXX_STR(" "));
@@ -397,7 +396,7 @@ void JSONLayout::appendSerializedNDC(LogString& buf,
 }
 
 void JSONLayout::appendSerializedLocationInfo(LogString& buf,
-       const LoggingEventPtr& event, Pool& p) const
+    const LoggingEventPtr& event) const
 {
        if (m_priv->prettyPrint)
        {
@@ -429,7 +428,7 @@ void JSONLayout::appendSerializedLocationInfo(LogString& 
buf,
        appendQuotedEscapedString(buf, LOG4CXX_STR("line"));
        buf.append(LOG4CXX_STR(": "));
        LogString lineNumber;
-       StringHelper::toString(locInfo.getLineNumber(), p, lineNumber);
+    StringHelper::toString(locInfo.getLineNumber(), lineNumber);
        appendQuotedEscapedString(buf, lineNumber);
        buf.append(LOG4CXX_STR(","));
        buf.append(m_priv->prettyPrint ? LOG4CXX_EOL : LOG4CXX_STR(" "));
diff --git a/src/main/cpp/layout.cpp b/src/main/cpp/layout.cpp
index d06d0dd7..8b4a0992 100644
--- a/src/main/cpp/layout.cpp
+++ b/src/main/cpp/layout.cpp
@@ -30,9 +30,9 @@ LogString Layout::getContentType() const
        return LOG4CXX_STR("text/plain");
 }
 
-void Layout::appendHeader(LogString&, LOG4CXX_NS::helpers::Pool&) {}
+void Layout::appendHeader(LogString&) {}
 
-void Layout::appendFooter(LogString&, LOG4CXX_NS::helpers::Pool&) {}
+void Layout::appendFooter(LogString&) {}
 
 /**
  * The expected length of a formatted event excluding the message text
@@ -45,8 +45,7 @@ size_t Layout::getFormattedEventCharacterCount() const
                , LOG4CXX_LOCATION
                , LogString()
                );
-       LogString text;
-       Pool pool;
-       format(text, exampleEvent, pool);
+    LogString text;
+    format(text, exampleEvent);
        return text.size();
 }
diff --git a/src/main/cpp/levelpatternconverter.cpp 
b/src/main/cpp/levelpatternconverter.cpp
index 137543fc..6b05b863 100644
--- a/src/main/cpp/levelpatternconverter.cpp
+++ b/src/main/cpp/levelpatternconverter.cpp
@@ -44,8 +44,7 @@ PatternConverterPtr LevelPatternConverter::newInstance(
 
 void LevelPatternConverter::format(
        const LoggingEventPtr& event,
-       LogString& toAppendTo,
-       LOG4CXX_NS::helpers::Pool& /* p */) const
+    LogString& toAppendTo) const
 {
        toAppendTo.append(event->getLevel()->toString());
 }
diff --git a/src/main/cpp/linelocationpatternconverter.cpp 
b/src/main/cpp/linelocationpatternconverter.cpp
index bf1f42f9..6d1d61b5 100644
--- a/src/main/cpp/linelocationpatternconverter.cpp
+++ b/src/main/cpp/linelocationpatternconverter.cpp
@@ -43,10 +43,9 @@ PatternConverterPtr 
LineLocationPatternConverter::newInstance(
 
 void LineLocationPatternConverter::format(
        const LoggingEventPtr& event,
-       LogString& toAppendTo,
-       Pool& p) const
+    LogString& toAppendTo) const
 {
        StringHelper::toString(
                event->getLocationInformation().getLineNumber(),
-               p, toAppendTo);
+        toAppendTo);
 }
diff --git a/src/main/cpp/lineseparatorpatternconverter.cpp 
b/src/main/cpp/lineseparatorpatternconverter.cpp
index 871ccaec..5713f84f 100644
--- a/src/main/cpp/lineseparatorpatternconverter.cpp
+++ b/src/main/cpp/lineseparatorpatternconverter.cpp
@@ -42,16 +42,14 @@ PatternConverterPtr 
LineSeparatorPatternConverter::newInstance(
 
 void LineSeparatorPatternConverter::format(
        const LoggingEventPtr& /* event */,
-       LogString& toAppendTo,
-       Pool& /* p */) const
+    LogString& toAppendTo) const
 {
        toAppendTo.append(LOG4CXX_EOL);
 }
 
 void LineSeparatorPatternConverter::format(
        const ObjectPtr& /* event */,
-       LogString& toAppendTo,
-       Pool& /* p */) const
+    LogString& toAppendTo) const
 {
        toAppendTo.append(LOG4CXX_EOL);
 }
diff --git a/src/main/cpp/literalpatternconverter.cpp 
b/src/main/cpp/literalpatternconverter.cpp
index a71617d2..b9869ebc 100644
--- a/src/main/cpp/literalpatternconverter.cpp
+++ b/src/main/cpp/literalpatternconverter.cpp
@@ -62,16 +62,14 @@ PatternConverterPtr LiteralPatternConverter::newInstance(
 
 void LiteralPatternConverter::format(
        const LoggingEventPtr& /* event */,
-       LogString& toAppendTo,
-       Pool& /* p */) const
+    LogString& toAppendTo) const
 {
        toAppendTo.append(priv->literal);
 }
 
 void LiteralPatternConverter::format(
        const ObjectPtr& /* event */,
-       LogString& toAppendTo,
-       Pool& /* p */)  const
+    LogString& toAppendTo)  const
 {
        toAppendTo.append(priv->literal);
 }
diff --git a/src/main/cpp/logger.cpp b/src/main/cpp/logger.cpp
index 935d8bdd..cedab34e 100644
--- a/src/main/cpp/logger.cpp
+++ b/src/main/cpp/logger.cpp
@@ -141,7 +141,7 @@ void Logger::reconfigure( const AppenderList& newList, bool 
newAdditivity )
        replaceAppenders(newList);
 }
 
-void Logger::callAppenders(const spi::LoggingEventPtr& event, Pool& p) const
+void Logger::callAppenders(const spi::LoggingEventPtr& event) const
 {
        int writes = 0;
 
@@ -149,7 +149,7 @@ void Logger::callAppenders(const spi::LoggingEventPtr& 
event, Pool& p) const
                logger != 0;
                logger = logger->m_priv->parent.get())
        {
-               writes += logger->m_priv->aai.appendLoopOnAppenders(event, p);
+        writes += logger->m_priv->aai.appendLoopOnAppenders(event);
 
                if (!logger->m_priv->additive)
                {
@@ -178,8 +178,7 @@ void Logger::addEvent(const LevelPtr& level, 
helpers::AsyncBuffer&& messageAppen
        if (!getHierarchy()) // Has removeHierarchy() been called?
                return;
        auto event = std::make_shared<LoggingEvent>(m_priv->name, level, 
location, std::move(messageAppender));
-       Pool p;
-       callAppenders(event, p);
+    callAppenders(event);
 }
 
 void Logger::addEvent(const LevelPtr& level, std::string&& message, const 
LocationInfo& location) const
@@ -192,8 +191,7 @@ void Logger::addEvent(const LevelPtr& level, std::string&& 
message, const Locati
        LOG4CXX_DECODE_CHAR(msg, message);
        auto event = std::make_shared<LoggingEvent>(m_priv->name, level, 
location, std::move(msg));
 #endif
-       Pool p;
-       callAppenders(event, p);
+    callAppenders(event);
 }
 
 void Logger::addFatalEvent(std::string&& message, const LocationInfo& 
location) const
@@ -267,8 +265,7 @@ void Logger::forcedLog(const LevelPtr& level, const 
std::string& message,
        LOG4CXX_DECODE_CHAR(msg, message);
        auto event = std::make_shared<LoggingEvent>(m_priv->name, level, 
location, std::move(msg));
 #endif
-       Pool p;
-       callAppenders(event, p);
+    callAppenders(event);
 }
 
 void Logger::forcedLog(const LevelPtr& level1, const std::string& message) 
const
@@ -281,8 +278,7 @@ void Logger::addEventLS(const LevelPtr& level, LogString&& 
message, const Locati
        if (!getHierarchy()) // Has removeHierarchy() been called?
                return;
        auto event = std::make_shared<LoggingEvent>(m_priv->name, level, 
location, std::move(message));
-       Pool p;
-       callAppenders(event, p);
+    callAppenders(event);
 }
 
 void Logger::forcedLogLS(const LevelPtr& level1, const LogString& message,
@@ -291,8 +287,7 @@ void Logger::forcedLogLS(const LevelPtr& level1, const 
LogString& message,
        if (!getHierarchy()) // Has removeHierarchy() been called?
                return;
        auto event = std::make_shared<LoggingEvent>(m_priv->name, level1, 
message, location);
-       Pool p;
-       callAppenders(event, p);
+    callAppenders(event);
 }
 
 
@@ -840,8 +835,7 @@ void Logger::addEvent(const LevelPtr& level, std::wstring&& 
message, const Locat
        LOG4CXX_DECODE_WCHAR(msg, message);
        auto event = std::make_shared<LoggingEvent>(m_priv->name, level, 
location, std::move(msg));
 #endif
-       Pool p;
-       callAppenders(event, p);
+    callAppenders(event);
 }
 
 void Logger::addFatalEvent(std::wstring&& message, const LocationInfo& 
location) const
@@ -885,8 +879,7 @@ void Logger::forcedLog(const LevelPtr& level, const 
std::wstring& message,
        LOG4CXX_DECODE_WCHAR(msg, message);
        auto event = std::make_shared<LoggingEvent>(m_priv->name, level, 
location, std::move(msg));
 #endif
-       Pool p;
-       callAppenders(event, p);
+    callAppenders(event);
 }
 
 void Logger::forcedLog(const LevelPtr& level1, const std::wstring& message) 
const
diff --git a/src/main/cpp/loggerpatternconverter.cpp 
b/src/main/cpp/loggerpatternconverter.cpp
index 70e9aa1b..f6897f4c 100644
--- a/src/main/cpp/loggerpatternconverter.cpp
+++ b/src/main/cpp/loggerpatternconverter.cpp
@@ -48,8 +48,7 @@ PatternConverterPtr LoggerPatternConverter::newInstance(
 
 void LoggerPatternConverter::format(
        const LoggingEventPtr& event,
-       LogString& toAppendTo,
-       Pool& /* p */ ) const
+    LogString& toAppendTo) const
 {
        int initialLength = (int)toAppendTo.length();
        toAppendTo.append(event->getLoggerName());
diff --git a/src/main/cpp/loggingevent.cpp b/src/main/cpp/loggingevent.cpp
index ceae144c..90ebe963 100644
--- a/src/main/cpp/loggingevent.cpp
+++ b/src/main/cpp/loggingevent.cpp
@@ -40,7 +40,7 @@ using namespace LOG4CXX_NS::helpers;
 struct LoggingEvent::LoggingEventPrivate
 {
        LoggingEventPrivate(const ThreadSpecificData::NamePairPtr p = 
ThreadSpecificData::getNames()) :
-               timeStamp(0),
+        timeStamp(),
                pNames(p)
        {
        }
@@ -57,7 +57,7 @@ struct LoggingEvent::LoggingEventPrivate
                message(std::move(message1)),
                timeStamp(Date::currentTime()),
                locationInfo(locationInfo1),
-               chronoTimeStamp(std::chrono::microseconds(timeStamp)),
+        chronoTimeStamp(timeStamp),
                pNames(p)
        {
        }
@@ -73,7 +73,7 @@ struct LoggingEvent::LoggingEventPrivate
                , level(level1)
                , timeStamp(Date::currentTime())
                , locationInfo(locationInfo1)
-               , chronoTimeStamp(std::chrono::microseconds(timeStamp))
+        , chronoTimeStamp(timeStamp)
                , pNames(p)
                , messageAppender(std::move(messageAppenderArg))
        {
@@ -89,7 +89,7 @@ struct LoggingEvent::LoggingEventPrivate
                message(message1),
                timeStamp(Date::currentTime()),
                locationInfo(locationInfo1),
-               chronoTimeStamp(std::chrono::microseconds(timeStamp)),
+        chronoTimeStamp(timeStamp),
                pNames(p)
        {
        }
diff --git a/src/main/cpp/loggingeventpatternconverter.cpp 
b/src/main/cpp/loggingeventpatternconverter.cpp
index 13f9a950..c8959e63 100644
--- a/src/main/cpp/loggingeventpatternconverter.cpp
+++ b/src/main/cpp/loggingeventpatternconverter.cpp
@@ -41,14 +41,13 @@ 
LoggingEventPatternConverter::LoggingEventPatternConverter(std::unique_ptr<Patte
 }
 
 void LoggingEventPatternConverter::format(const ObjectPtr& obj,
-       LogString& output,
-       LOG4CXX_NS::helpers::Pool& p) const
+    LogString& output) const
 {
        LoggingEventPtr le = LOG4CXX_NS::cast<LoggingEvent>(obj);
 
        if (le != NULL)
        {
-               format(le, output, p);
+        format(le, output);
        }
 }
 
diff --git a/src/main/cpp/loglog.cpp b/src/main/cpp/loglog.cpp
index 678939b0..1370ddfe 100644
--- a/src/main/cpp/loglog.cpp
+++ b/src/main/cpp/loglog.cpp
@@ -206,7 +206,7 @@ void LogLog::emit_log(const LogString& prefix, const 
LogString& msg, const LogSt
        out.append(suffix);
        out.append(1, (logchar) 0x0A);
 
-       SystemErrWriter::write(out);
+    SystemErrWriter::write_raw(out);
 }
 
 void LogLog::emit_log(const LogString& prefix, const std::exception& ex, const 
LogString& suffix)
@@ -227,5 +227,5 @@ void LogLog::emit_log(const LogString& prefix, const 
std::exception& ex, const L
        out.append(suffix);
        out.append(1, (logchar) 0x0A);
 
-       SystemErrWriter::write(out);
+    SystemErrWriter::write_raw(out);
 }
diff --git a/src/main/cpp/mdcpatternconverter.cpp 
b/src/main/cpp/mdcpatternconverter.cpp
index 25db86b8..f68218ac 100644
--- a/src/main/cpp/mdcpatternconverter.cpp
+++ b/src/main/cpp/mdcpatternconverter.cpp
@@ -47,8 +47,7 @@ PatternConverterPtr MDCPatternConverter::newInstance(
 
 void MDCPatternConverter::format
        ( const spi::LoggingEventPtr& event
-       , LogString&                  toAppendTo
-       , helpers::Pool&           /* p */
+    , LogString&                  toAppendTo
        ) const
 {
        size_t startIndex = toAppendTo.size();
diff --git a/src/main/cpp/messagepatternconverter.cpp 
b/src/main/cpp/messagepatternconverter.cpp
index 6b0712ff..c31966c9 100644
--- a/src/main/cpp/messagepatternconverter.cpp
+++ b/src/main/cpp/messagepatternconverter.cpp
@@ -44,8 +44,7 @@ class QuotedMessagePatternConverter : public 
LoggingEventPatternConverter
                // Duplicate any quote character in the event message
                void format
                        ( const spi::LoggingEventPtr& event
-                       , LogString&                  toAppendTo
-                       , helpers::Pool&              p
+            , LogString&                  toAppendTo
                        ) const override
                {
                        auto& input = event->getRenderedMessage();
@@ -80,8 +79,7 @@ PatternConverterPtr MessagePatternConverter::newInstance(
 
 void MessagePatternConverter::format
        ( const spi::LoggingEventPtr& event
-       , LogString&                  toAppendTo
-       , helpers::Pool&           /* p */
+    , LogString&                  toAppendTo
        ) const
 {
        toAppendTo.append(event->getRenderedMessage());
diff --git a/src/main/cpp/methodlocationpatternconverter.cpp 
b/src/main/cpp/methodlocationpatternconverter.cpp
index 2e479c8b..3e31fafd 100644
--- a/src/main/cpp/methodlocationpatternconverter.cpp
+++ b/src/main/cpp/methodlocationpatternconverter.cpp
@@ -42,8 +42,7 @@ PatternConverterPtr 
MethodLocationPatternConverter::newInstance(
 
 void MethodLocationPatternConverter::format(
        const LoggingEventPtr& event,
-       LogString& toAppendTo,
-       Pool& /* p */ ) const
+    LogString& toAppendTo) const
 {
        append(toAppendTo, event->getLocationInformation().getMethodName());
 }
diff --git a/src/main/cpp/ndcpatternconverter.cpp 
b/src/main/cpp/ndcpatternconverter.cpp
index 6b05759c..2f4d0848 100644
--- a/src/main/cpp/ndcpatternconverter.cpp
+++ b/src/main/cpp/ndcpatternconverter.cpp
@@ -42,8 +42,7 @@ PatternConverterPtr NDCPatternConverter::newInstance(
 
 void NDCPatternConverter::format(
        const LoggingEventPtr& event,
-       LogString& toAppendTo,
-       Pool& /* p */) const
+    LogString& toAppendTo) const
 {
        if (!event->getNDC(toAppendTo))
        {
diff --git a/src/main/cpp/optionconverter.cpp b/src/main/cpp/optionconverter.cpp
index 17fc221d..cc8a75c6 100644
--- a/src/main/cpp/optionconverter.cpp
+++ b/src/main/cpp/optionconverter.cpp
@@ -105,9 +105,8 @@ LogString substVarsSafely(const LogString& val, 
helpers::Properties& props, cons
                        {
                                LogString msg(1, (logchar) 0x22 /* '\"' */);
                                msg.append(val);
-                               msg.append(LOG4CXX_STR("\" has no closing 
brace. Opening brace at position "));
-                               helpers::Pool p;
-                               helpers::StringHelper::toString(j, p, msg);
+                msg.append(LOG4CXX_STR("\" has no closing brace. Opening brace 
at position "));
+                helpers::StringHelper::toString(j, msg);
                                msg.append(1, (logchar) 0x2E /* '.' */);
                                throw helpers::IllegalArgumentException(msg);
                        }
diff --git a/src/main/cpp/properties.cpp b/src/main/cpp/properties.cpp
index dfa72f83..b3a2d23f 100644
--- a/src/main/cpp/properties.cpp
+++ b/src/main/cpp/properties.cpp
@@ -441,9 +441,8 @@ LogString Properties::get(const LogString& key) const
 
 void Properties::load(InputStreamPtr inStream)
 {
-       Pool pool;
        auto lineReader = std::make_shared<InputStreamReader>(inStream, 
CharsetDecoder::getISOLatinDecoder());
-       LogString contents = lineReader->read(pool);
+    LogString contents = lineReader->read();
        properties->clear();
        PropertyParser parser;
        parser.parse(contents, *this);
@@ -466,4 +465,4 @@ std::vector<LogString> Properties::propertyNames() const
 bool Properties::isEmpty() const
 {
        return properties->empty();
-}
\ No newline at end of file
+}
diff --git a/src/main/cpp/propertiespatternconverter.cpp 
b/src/main/cpp/propertiespatternconverter.cpp
index ef9c3521..4f734660 100644
--- a/src/main/cpp/propertiespatternconverter.cpp
+++ b/src/main/cpp/propertiespatternconverter.cpp
@@ -69,8 +69,7 @@ PatternConverterPtr PropertiesPatternConverter::newInstance(
 
 void PropertiesPatternConverter::format(
        const LoggingEventPtr& event,
-       LogString& toAppendTo,
-       Pool& /* p */) const
+    LogString& toAppendTo) const
 {
        if (priv->option.length() == 0)
        {
diff --git a/src/main/cpp/propertyconfigurator.cpp 
b/src/main/cpp/propertyconfigurator.cpp
index 9c1fdd24..da567b91 100644
--- a/src/main/cpp/propertyconfigurator.cpp
+++ b/src/main/cpp/propertyconfigurator.cpp
@@ -285,9 +285,8 @@ void 
PropertyConfigurator::configureLoggerFactory(helpers::Properties& props)
 #endif
                        );
 
-               m_priv->loggerFactory = LOG4CXX_NS::cast<LoggerFactory>( 
instance );
-               Pool p;
-               PropertySetter::setProperties(m_priv->loggerFactory, props, 
LOG4CXX_STR("log4j.factory."), p);
+        m_priv->loggerFactory = LOG4CXX_NS::cast<LoggerFactory>( instance );
+        PropertySetter::setProperties(m_priv->loggerFactory, props, 
LOG4CXX_STR("log4j.factory."));
        }
 }
 
@@ -508,9 +507,7 @@ AppenderPtr PropertyConfigurator::parseAppender(
        appender->setName(appenderName);
 
        if (appender->instanceof(OptionHandler::getStaticClass()))
-       {
-               Pool p;
-
+    {
                if (appender->requiresLayout())
                {
                        LayoutPtr layout;
@@ -528,7 +525,7 @@ AppenderPtr PropertyConfigurator::parseAppender(
                                                + LOG4CXX_STR(" options for [") 
+ appenderName + LOG4CXX_STR("]"));
                                }
 
-                               PropertySetter::setProperties(layout, props, 
layoutPrefix + LOG4CXX_STR("."), p);
+                PropertySetter::setProperties(layout, props, layoutPrefix + 
LOG4CXX_STR("."));
                                if (LogLog::isDebugEnabled())
                                {
                                        LogLog::debug((LogString) 
LOG4CXX_STR("End of parsing for [")
@@ -557,7 +554,7 @@ AppenderPtr PropertyConfigurator::parseAppender(
                                                LogLog::debug((LogString) 
LOG4CXX_STR("Parsing ") + RollingPolicy::getStaticClass().getName()
                                                        + LOG4CXX_STR(" options 
for [") + appenderName + LOG4CXX_STR("]"));
                                        }
-                                       
PropertySetter::setProperties(rollingPolicy, props, rollingPolicyKey + 
LOG4CXX_STR("."), p);
+                    PropertySetter::setProperties(rollingPolicy, props, 
rollingPolicyKey + LOG4CXX_STR("."));
                                }
                        }
 
@@ -578,12 +575,12 @@ AppenderPtr PropertyConfigurator::parseAppender(
                                                LogLog::debug((LogString) 
LOG4CXX_STR("Parsing ") + TriggeringPolicy::getStaticClass().getName()
                                                        + LOG4CXX_STR(" options 
for [") + appenderName + LOG4CXX_STR("]"));
                                        }
-                                       
PropertySetter::setProperties(triggeringPolicy, props, triggeringPolicyKey + 
LOG4CXX_STR("."), p);
+                    PropertySetter::setProperties(triggeringPolicy, props, 
triggeringPolicyKey + LOG4CXX_STR("."));
                                }
                        }
                }
 
-               PropertySetter::setProperties(appender, props, prefix + 
LOG4CXX_STR("."), p);
+        PropertySetter::setProperties(appender, props, prefix + 
LOG4CXX_STR("."));
                if (LogLog::isDebugEnabled())
                {
                        LogLog::debug((LogString) LOG4CXX_STR("Parsed [")
diff --git a/src/main/cpp/propertysetter.cpp b/src/main/cpp/propertysetter.cpp
index bc1a028b..76453784 100644
--- a/src/main/cpp/propertysetter.cpp
+++ b/src/main/cpp/propertysetter.cpp
@@ -37,16 +37,14 @@ PropertySetter::PropertySetter(const helpers::ObjectPtr& 
obj1) : obj(obj1)
 
 void PropertySetter::setProperties(const helpers::ObjectPtr& obj,
        helpers::Properties& properties,
-       const LogString& prefix,
-       Pool& p)
+    const LogString& prefix)
 {
-       PropertySetter(obj).setProperties(properties, prefix, p);
+    PropertySetter(obj).setProperties(properties, prefix);
 }
 
 
 void PropertySetter::setProperties(helpers::Properties& properties,
-       const LogString& prefix,
-       Pool& p)
+    const LogString& prefix)
 {
        size_t len = prefix.length();
 
@@ -71,16 +69,15 @@ void PropertySetter::setProperties(helpers::Properties& 
properties,
                                continue;
                        }
 
-                       setProperty(key, value, p);
+            setProperty(key, value);
                }
        }
 
-       activate(p);
+    activate();
 }
 
 void PropertySetter::setProperty(const LogString& option,
-       const LogString& value,
-       Pool&)
+    const LogString& value)
 {
        if (value.empty())
        {
@@ -99,11 +96,11 @@ void PropertySetter::setProperty(const LogString& option,
        }
 }
 
-void PropertySetter::activate(Pool& p)
+void PropertySetter::activate()
 {
        if (obj != 0 && obj->instanceof(OptionHandler::getStaticClass()))
        {
                OptionHandlerPtr handler = LOG4CXX_NS::cast<OptionHandler>(obj);
-               handler->activateOptions(p);
+        handler->activateOptions();
        }
 }
diff --git a/src/main/cpp/relativetimedateformat.cpp 
b/src/main/cpp/relativetimedateformat.cpp
index 612460b6..cf8bc18c 100644
--- a/src/main/cpp/relativetimedateformat.cpp
+++ b/src/main/cpp/relativetimedateformat.cpp
@@ -28,9 +28,8 @@ 
LOG4CXX_NS::helpers::RelativeTimeDateFormat::RelativeTimeDateFormat()
 
 void LOG4CXX_NS::helpers::RelativeTimeDateFormat::format(
        LogString& s,
-       log4cxx_time_t date,
-       Pool& p) const
+    log4cxx_time_t date) const
 {
-       int64_t interval = (date - startTime) / int64_t(1000);
-       StringHelper::toString(interval, p, s);
+    int64_t interval = 
std::chrono::duration_cast<std::chrono::milliseconds>(date - startTime).count();
+    StringHelper::toString(interval, s);
 }
diff --git a/src/main/cpp/relativetimepatternconverter.cpp 
b/src/main/cpp/relativetimepatternconverter.cpp
index eaf23e5f..f29b5037 100644
--- a/src/main/cpp/relativetimepatternconverter.cpp
+++ b/src/main/cpp/relativetimepatternconverter.cpp
@@ -43,10 +43,9 @@ PatternConverterPtr 
RelativeTimePatternConverter::newInstance(
 
 void RelativeTimePatternConverter::format(
        const LoggingEventPtr& event,
-       LogString& toAppendTo,
-       Pool& p) const
+    LogString& toAppendTo) const
 {
-       log4cxx_time_t delta = (event->getTimeStamp() - 
LoggingEvent::getStartTime()) / 1000;
-       StringHelper::toString(delta, p, toAppendTo);
+    int64_t delta = 
std::chrono::duration_cast<std::chrono::milliseconds>(event->getTimeStamp() - 
LoggingEvent::getStartTime()).count();
+    StringHelper::toString(delta, toAppendTo);
 }
 
diff --git a/src/main/cpp/rollingfileappender.cpp 
b/src/main/cpp/rollingfileappender.cpp
index 4112864c..7dbd825b 100644
--- a/src/main/cpp/rollingfileappender.cpp
+++ b/src/main/cpp/rollingfileappender.cpp
@@ -175,7 +175,7 @@ void RollingFileAppender::setDatePattern(const LogString& 
newPattern)
 /**
  * Prepare instance of use.
  */
-void RollingFileAppender::activateOptions(Pool& p)
+void RollingFileAppender::activateOptions()
 {
        if (!_priv->rollingPolicy)
        {
@@ -208,13 +208,13 @@ void RollingFileAppender::activateOptions(Pool& p)
 
        {
                std::lock_guard<std::recursive_mutex> lock(_priv->mutex);
-               _priv->triggeringPolicy->activateOptions(p);
-               _priv->rollingPolicy->activateOptions(p);
+        _priv->triggeringPolicy->activateOptions();
+        _priv->rollingPolicy->activateOptions();
 
                try
                {
                        RolloverDescriptionPtr rollover1 =
-                               _priv->rollingPolicy->initialize(getFile(), 
getAppend(), p);
+                _priv->rollingPolicy->initialize(getFile(), getAppend());
 
                        if (rollover1 != NULL)
                        {
@@ -275,13 +275,13 @@ void RollingFileAppender::activateOptions(Pool& p)
 
  * @return true if rollover performed.
  */
-bool RollingFileAppender::rollover(Pool& p)
+bool RollingFileAppender::rollover()
 {
        std::lock_guard<std::recursive_mutex> lock(_priv->mutex);
-       return rolloverInternal(p);
+    return rolloverInternal();
 }
 
-bool RollingFileAppender::rolloverInternal(Pool& p)
+bool RollingFileAppender::rolloverInternal()
 {
        //
        //   can't roll without a policy
@@ -292,7 +292,7 @@ bool RollingFileAppender::rolloverInternal(Pool& p)
                {
                                try
                                {
-                                       RolloverDescriptionPtr 
rollover1(_priv->rollingPolicy->rollover(this->getFile(), this->getAppend(), 
p));
+                    RolloverDescriptionPtr 
rollover1(_priv->rollingPolicy->rollover(this->getFile(), this->getAppend()));
 
                                        if (rollover1 != NULL)
                                        {
@@ -308,7 +308,7 @@ bool RollingFileAppender::rolloverInternal(Pool& p)
 
                                                                try
                                                                {
-                                                                       success 
= rollover1->getSynchronous()->execute(p);
+                                    success = 
rollover1->getSynchronous()->execute();
                                                                }
                                                                catch 
(std::exception& ex)
                                                                {
@@ -325,7 +325,7 @@ bool RollingFileAppender::rolloverInternal(Pool& p)
                                                                
appendToExisting = rollover1->getAppend();
                                                                if 
(appendToExisting)
                                                                {
-                                                                       
_priv->fileLength = File().setPath(rollover1->getActiveFileName()).length(p);
+                                    _priv->fileLength = 
File().setPath(rollover1->getActiveFileName()).length();
                                                                }
                                                                else
                                                                {
@@ -338,7 +338,7 @@ bool RollingFileAppender::rolloverInternal(Pool& p)
                                                                {
                                                                        try
                                                                        {
-                                                                               
asyncAction->execute(p);
+                                        asyncAction->execute();
                                                                        }
                                                                        catch 
(std::exception& ex)
                                                                        {
@@ -349,14 +349,14 @@ bool RollingFileAppender::rolloverInternal(Pool& p)
                                                                        }
                                                                }
                                                        }
-                                                       
setFileInternal(rollover1->getActiveFileName(), appendToExisting, 
_priv->bufferedIO, _priv->bufferSize, p);
+                            setFileInternal(rollover1->getActiveFileName(), 
appendToExisting, _priv->bufferedIO, _priv->bufferSize);
                                                }
                                                else
                                                {
                                                        closeWriter();
                                                        
setFileInternal(rollover1->getActiveFileName());
                                                        // Call activateOptions 
to create any intermediate directories(if required)
-                                                       
FileAppender::activateOptionsInternal(p);
+                            FileAppender::activateOptionsInternal();
                                                        OutputStreamPtr os = 
std::make_shared<FileOutputStream>
                                                                        ( 
rollover1->getActiveFileName()
                                                                        , 
rollover1->getAppend()
@@ -371,7 +371,7 @@ bool RollingFileAppender::rolloverInternal(Pool& p)
 
                                                                try
                                                                {
-                                                                       success 
= rollover1->getSynchronous()->execute(p);
+                                    success = 
rollover1->getSynchronous()->execute();
                                                                }
                                                                catch 
(std::exception& ex)
                                                                {
@@ -386,7 +386,7 @@ bool RollingFileAppender::rolloverInternal(Pool& p)
                                                        {
                                                                if 
(rollover1->getAppend())
                                                                {
-                                                                       
_priv->fileLength = File().setPath(rollover1->getActiveFileName()).length(p);
+                                    _priv->fileLength = 
File().setPath(rollover1->getActiveFileName()).length();
                                                                }
                                                                else
                                                                {
@@ -397,11 +397,11 @@ bool RollingFileAppender::rolloverInternal(Pool& p)
 
                                                                if (asyncAction 
!= NULL)
                                                                {
-                                                                       
asyncAction->execute(p);
+                                    asyncAction->execute();
                                                                }
                                                        }
 
-                                                       writeHeader(p);
+                            writeHeader();
                                                }
                                                return true;
                                        }
@@ -422,7 +422,7 @@ bool RollingFileAppender::rolloverInternal(Pool& p)
 /**
  * {@inheritDoc}
 */
-void RollingFileAppender::subAppend(const LoggingEventPtr& event, Pool& p)
+void RollingFileAppender::subAppend(const LoggingEventPtr& event)
 {
        // The rollover check must precede actual writing. This is the
        // only correct behavior for time driven triggers.
@@ -438,7 +438,7 @@ void RollingFileAppender::subAppend(const LoggingEventPtr& 
event, Pool& p)
                try
                {
                        _priv->_event = event;
-                       rolloverInternal(p);
+            rolloverInternal();
                }
                catch (std::exception& ex)
                {
@@ -449,7 +449,7 @@ void RollingFileAppender::subAppend(const LoggingEventPtr& 
event, Pool& p)
                }
        }
 
-       FileAppender::subAppend(event, p);
+    FileAppender::subAppend(event);
 }
 
 /**
@@ -531,26 +531,26 @@ class CountingOutputStream : public OutputStream
                /**
                 * {@inheritDoc}
                 */
-               void close(Pool& p) override
+        void close() override
                {
-                       os->close(p);
+            os->close();
                        rfa = 0;
                }
 
                /**
                 * {@inheritDoc}
                 */
-               void flush(Pool& p) override
+        void flush() override
                {
-                       os->flush(p);
+            os->flush();
                }
 
                /**
                 * {@inheritDoc}
                 */
-               void write(ByteBuffer& buf, Pool& p) override
+        void write(ByteBuffer& buf) override
                {
-                       os->write(buf, p);
+            os->write(buf);
 
                        if (rfa != 0)
                        {
diff --git a/src/main/cpp/shortfilelocationpatternconverter.cpp 
b/src/main/cpp/shortfilelocationpatternconverter.cpp
index 0bd2ed88..acd1dee6 100644
--- a/src/main/cpp/shortfilelocationpatternconverter.cpp
+++ b/src/main/cpp/shortfilelocationpatternconverter.cpp
@@ -40,7 +40,6 @@ PatternConverterPtr 
ShortFileLocationPatternConverter::newInstance(
 
 void ShortFileLocationPatternConverter::format(
     const LoggingEventPtr &event,
-    LogString &toAppendTo,
-    Pool & /* p */ ) const {
+    LogString &toAppendTo) const {
   append(toAppendTo, event->getLocationInformation().getShortFileName());
 }
diff --git a/src/main/cpp/simpledateformat.cpp 
b/src/main/cpp/simpledateformat.cpp
index 77698842..b0832d45 100644
--- a/src/main/cpp/simpledateformat.cpp
+++ b/src/main/cpp/simpledateformat.cpp
@@ -25,7 +25,6 @@
        #define LOG4CXX 1
 #endif
 #include <log4cxx/private/log4cxx_private.h>
-#include <log4cxx/helpers/pool.h>
 
 using namespace LOG4CXX_NS;
 using namespace LOG4CXX_NS::helpers;
diff --git a/src/main/cpp/simplelayout.cpp b/src/main/cpp/simplelayout.cpp
index 17e3b27c..a8be7383 100644
--- a/src/main/cpp/simplelayout.cpp
+++ b/src/main/cpp/simplelayout.cpp
@@ -27,8 +27,7 @@ IMPLEMENT_LOG4CXX_OBJECT(SimpleLayout)
 
 
 void SimpleLayout::format(LogString& output,
-       const spi::LoggingEventPtr& event,
-       LOG4CXX_NS::helpers::Pool&) const
+    const spi::LoggingEventPtr& event) const
 {
        output.append(event->getLevel()->toString());
        output.append(LOG4CXX_STR(" - "));
diff --git a/src/main/cpp/threadpatternconverter.cpp 
b/src/main/cpp/threadpatternconverter.cpp
index 18c054df..be7a8e74 100644
--- a/src/main/cpp/threadpatternconverter.cpp
+++ b/src/main/cpp/threadpatternconverter.cpp
@@ -42,8 +42,7 @@ PatternConverterPtr ThreadPatternConverter::newInstance(
 
 void ThreadPatternConverter::format(
        const LoggingEventPtr& event,
-       LogString& toAppendTo,
-       Pool& /* p */) const
+    LogString& toAppendTo) const
 {
        toAppendTo.append(event->getThreadName());
 }
diff --git a/src/main/cpp/threadusernamepatternconverter.cpp 
b/src/main/cpp/threadusernamepatternconverter.cpp
index 621393b1..dff959e1 100644
--- a/src/main/cpp/threadusernamepatternconverter.cpp
+++ b/src/main/cpp/threadusernamepatternconverter.cpp
@@ -42,8 +42,7 @@ PatternConverterPtr 
ThreadUsernamePatternConverter::newInstance(
 
 void ThreadUsernamePatternConverter::format(
        const LoggingEventPtr& event,
-       LogString& toAppendTo,
-       Pool& /* p */) const
+    LogString& toAppendTo) const
 {
        toAppendTo.append(event->getThreadUserName());
 }
diff --git a/src/main/cpp/throwableinformationpatternconverter.cpp 
b/src/main/cpp/throwableinformationpatternconverter.cpp
index 45e4fafe..0e095af1 100644
--- a/src/main/cpp/throwableinformationpatternconverter.cpp
+++ b/src/main/cpp/throwableinformationpatternconverter.cpp
@@ -66,8 +66,7 @@ PatternConverterPtr 
ThrowableInformationPatternConverter::newInstance(
 
 void ThrowableInformationPatternConverter::format(
        const LoggingEventPtr& /* event */,
-       LogString& /* toAppendTo */,
-       Pool& /* p */) const
+    LogString& /* toAppendTo */) const
 {
 }
 
diff --git a/src/main/cpp/timebasedrollingpolicy.cpp 
b/src/main/cpp/timebasedrollingpolicy.cpp
index 0df5ae73..62b919f9 100644
--- a/src/main/cpp/timebasedrollingpolicy.cpp
+++ b/src/main/cpp/timebasedrollingpolicy.cpp
@@ -30,7 +30,6 @@
 #include <log4cxx/helpers/transcoder.h>
 #include <log4cxx/fileappender.h>
 #include <iostream>
-#include <apr_mmap.h>
 
 using namespace LOG4CXX_NS;
 using namespace LOG4CXX_NS::rolling;
@@ -69,17 +68,17 @@ struct 
TimeBasedRollingPolicy::TimeBasedRollingPolicyPrivate{
                /**
                 * mmap pointer
                 */
-               apr_mmap_t* _mmap;
+//             apr_mmap_t* _mmap;
 
                /*
                 * pool for mmap handler
                 * */
-               LOG4CXX_NS::helpers::Pool _mmapPool;
+//             LOG4CXX_NS::helpers::Pool _mmapPool;
 
                /**
                 * mmap file descriptor
                 */
-               apr_file_t* _file_map;
+//             apr_file_t* _file_map;
 
                /**
                 * mmap file name
@@ -89,7 +88,7 @@ struct TimeBasedRollingPolicy::TimeBasedRollingPolicyPrivate{
                /*
                 * lock file handle
                 * */
-               apr_file_t* _lock_file;
+//             apr_file_t* _lock_file;
 
                /**
                 * Check nextCheck if it has already been set
diff --git a/src/main/cpp/xmllayout.cpp b/src/main/cpp/xmllayout.cpp
index e26be6c8..a72cfe4d 100644
--- a/src/main/cpp/xmllayout.cpp
+++ b/src/main/cpp/xmllayout.cpp
@@ -75,15 +75,14 @@ void XMLLayout::setOption(const LogString& option,
 }
 
 void XMLLayout::format(LogString& output,
-       const spi::LoggingEventPtr& event,
-       Pool& p) const
+    const spi::LoggingEventPtr& event) const
 {
        auto& lsMsg = event->getRenderedMessage();
        output.reserve(m_priv->expectedPatternLength + lsMsg.size());
        output.append(LOG4CXX_STR("<log4j:event logger=\""));
        Transform::appendEscapingTags(output, event->getLoggerName());
        output.append(LOG4CXX_STR("\" timestamp=\""));
-       StringHelper::toString(event->getTimeStamp() / 1000L, p, output);
+    StringHelper::toString(event->getTimeStamp() / 1000L, output);
        output.append(LOG4CXX_STR("\" level=\""));
        Transform::appendEscapingTags(output, event->getLevel()->toString());
        output.append(LOG4CXX_STR("\" thread=\""));
@@ -121,7 +120,7 @@ void XMLLayout::format(LogString& output,
                LOG4CXX_DECODE_CHAR(fileName, locInfo.getFileName());
                Transform::appendEscapingTags(output, fileName);
                output.append(LOG4CXX_STR("\" line=\""));
-               StringHelper::toString(locInfo.getLineNumber(), p, output);
+        StringHelper::toString(locInfo.getLineNumber(), output);
                output.append(LOG4CXX_STR("\"/>"));
                output.append(LOG4CXX_EOL);
        }
diff --git a/src/main/cpp/xmlsocketappender.cpp 
b/src/main/cpp/xmlsocketappender.cpp
index f097ebd4..df07a1ac 100644
--- a/src/main/cpp/xmlsocketappender.cpp
+++ b/src/main/cpp/xmlsocketappender.cpp
@@ -69,17 +69,15 @@ XMLSocketAppender::XMLSocketAppender()
 XMLSocketAppender::XMLSocketAppender(InetAddressPtr address1, int port1)
        : 
SocketAppenderSkeleton(std::make_unique<XMLSocketAppenderPriv>(address1, port1, 
DEFAULT_RECONNECTION_DELAY))
 {
-       _priv->layout = std::make_shared<XMLLayout>();
-       Pool p;
-       activateOptions(p);
+    _priv->layout = std::make_shared<XMLLayout>();
+    activateOptions();
 }
 
 XMLSocketAppender::XMLSocketAppender(const LogString& host, int port1)
        : SocketAppenderSkeleton(std::make_unique<XMLSocketAppenderPriv>(host, 
port1, DEFAULT_RECONNECTION_DELAY))
 {
-       _priv->layout = std::make_shared<XMLLayout>();
-       Pool p;
-       activateOptions(p);
+    _priv->layout = std::make_shared<XMLLayout>();
+    activateOptions();
 }
 
 XMLSocketAppender::~XMLSocketAppender()
@@ -98,7 +96,7 @@ int XMLSocketAppender::getDefaultPort() const
        return DEFAULT_PORT;
 }
 
-void XMLSocketAppender::setSocket(LOG4CXX_NS::helpers::SocketPtr& socket, 
Pool& p)
+void XMLSocketAppender::setSocket(LOG4CXX_NS::helpers::SocketPtr& socket)
 {
        OutputStreamPtr os = std::make_shared<SocketOutputStream>(socket);
        CharsetEncoderPtr charset(CharsetEncoder::getUTF8Encoder());
@@ -106,7 +104,7 @@ void 
XMLSocketAppender::setSocket(LOG4CXX_NS::helpers::SocketPtr& socket, Pool&
        _priv->writer = std::make_shared<OutputStreamWriter>(os, charset);
 }
 
-void XMLSocketAppender::cleanUp(Pool& p)
+void XMLSocketAppender::cleanUp()
 {
        if (_priv->writer)
        {
@@ -121,17 +119,17 @@ void XMLSocketAppender::cleanUp(Pool& p)
        }
 }
 
-void XMLSocketAppender::append(const spi::LoggingEventPtr& event, 
LOG4CXX_NS::helpers::Pool& p)
+void XMLSocketAppender::append(const spi::LoggingEventPtr& event)
 {
        if (_priv->writer)
        {
                LogString output;
-               _priv->layout->format(output, event, p);
+        _priv->layout->format(output, event);
 
                try
                {
-                       _priv->writer->write(output, p);
-                       _priv->writer->flush(p);
+            _priv->writer->write(output);
+            _priv->writer->flush();
                }
                catch (std::exception& e)
                {
diff --git a/src/main/include/log4cxx/config/propertysetter.h 
b/src/main/include/log4cxx/config/propertysetter.h
index 072a3278..5bd43003 100644
--- a/src/main/include/log4cxx/config/propertysetter.h
+++ b/src/main/include/log4cxx/config/propertysetter.h
@@ -38,7 +38,6 @@ namespace LOG4CXX_NS
 namespace helpers
 {
 class Properties;
-class Pool;
 }
 
 namespace config
@@ -80,21 +79,18 @@ class LOG4CXX_EXPORT PropertySetter
 
                @param obj The object to configure.
                @param properties A java.util.Properties containing keys and 
values.
-               @param prefix Only keys having the specified prefix will be set.
-               @param p pool to use for any allocations required during call.
+        @param prefix Only keys having the specified prefix will be set.
                */
                static void setProperties(const helpers::ObjectPtr& obj,
                        helpers::Properties& properties,
-                       const LogString& prefix,
-                       LOG4CXX_NS::helpers::Pool& p);
+            const LogString& prefix);
 
                /**
                Set the properites for the object that match the
                <code>prefix</code> passed as parameter.
                */
                void setProperties(helpers::Properties& properties,
-                       const LogString& prefix,
-                       LOG4CXX_NS::helpers::Pool& p);
+            const LogString& prefix);
 
                /**
                Set a property on this PropertySetter's Object. If the 
underlying
@@ -102,14 +98,12 @@ class LOG4CXX_EXPORT PropertySetter
                {@link spi::OptionHandler#setOption setOption} method is called.
 
                @param option   name of the property
-               @param value   String value of the property
-               @param p pool to use for any allocations required during call.
+        @param value   String value of the property
                */
                void setProperty(const LogString& option,
-                       const LogString& value,
-                       LOG4CXX_NS::helpers::Pool& p);
+            const LogString& value);
 
-               void activate(LOG4CXX_NS::helpers::Pool& p);
+        void activate();
 }; // class PropertySetter
 }  // namespace config;
 } // namespace log4cxx
diff --git a/src/main/include/log4cxx/file.h b/src/main/include/log4cxx/file.h
index 7a611f47..33c5e5c9 100644
--- a/src/main/include/log4cxx/file.h
+++ b/src/main/include/log4cxx/file.h
@@ -107,7 +107,7 @@ class LOG4CXX_EXPORT File
          *  Determines last modification date.
                 *  @return length of file.
                 */
-        log4cxx_time_t lastModified() const;
+        std::filesystem::file_time_type lastModified() const;
                /**
                 *  Get final portion of file path.
                 *  @return file name.
diff --git a/src/main/include/log4cxx/helpers/date.h 
b/src/main/include/log4cxx/helpers/date.h
index 4b01ebcb..9e157a78 100644
--- a/src/main/include/log4cxx/helpers/date.h
+++ b/src/main/include/log4cxx/helpers/date.h
@@ -21,6 +21,7 @@
 #include <log4cxx/helpers/object.h>
 #include <log4cxx/log4cxx.h>
 #include <functional>
+#include <chrono>
 
 namespace LOG4CXX_NS
 {
@@ -57,8 +58,8 @@ class LOG4CXX_EXPORT Date : public Object
                log4cxx_time_t getNextSecond() const;
 
 
-               static log4cxx_time_t getMicrosecondsPerDay();
-               static log4cxx_time_t getMicrosecondsPerSecond();
+        static std::chrono::microseconds getMicrosecondsPerDay();
+        static std::chrono::microseconds getMicrosecondsPerSecond();
                static log4cxx_time_t getCurrentTimeStd();
                static log4cxx_time_t currentTime();
 
diff --git a/src/main/include/log4cxx/helpers/relativetimedateformat.h 
b/src/main/include/log4cxx/helpers/relativetimedateformat.h
index 6d32c6e6..66b49513 100644
--- a/src/main/include/log4cxx/helpers/relativetimedateformat.h
+++ b/src/main/include/log4cxx/helpers/relativetimedateformat.h
@@ -34,8 +34,7 @@ class LOG4CXX_EXPORT RelativeTimeDateFormat : public 
DateFormat
        public:
                RelativeTimeDateFormat();
                virtual void format(LogString& s,
-                       log4cxx_time_t tm,
-                       LOG4CXX_NS::helpers::Pool& p) const;
+            log4cxx_time_t tm) const;
 
        private:
                log4cxx_time_t startTime;
diff --git a/src/main/include/log4cxx/htmllayout.h 
b/src/main/include/log4cxx/htmllayout.h
index 0f72225f..05930e87 100644
--- a/src/main/include/log4cxx/htmllayout.h
+++ b/src/main/include/log4cxx/htmllayout.h
@@ -83,7 +83,7 @@ class LOG4CXX_EXPORT HTMLLayout : public Layout
 
                No action is performed in this implementation.
                */
-               void activateOptions(helpers::Pool& /* p */) override {}
+        void activateOptions() override {}
 
                /**
                \copybrief spi::OptionHandler::setOption()
@@ -95,18 +95,17 @@ class LOG4CXX_EXPORT HTMLLayout : public Layout
                */
                void setOption(const LogString& option, const LogString& value) 
override;
 
-               void format(LogString& output,
-                       const spi::LoggingEventPtr& event, helpers::Pool& pool) 
const override;
+        void format(LogString& output, const spi::LoggingEventPtr& event) 
const override;
 
                /**
                Append appropriate HTML headers.
                */
-               void appendHeader(LogString& output, helpers::Pool& pool) 
override;
+        void appendHeader(LogString& output) override;
 
                /**
                Append the appropriate HTML footers.
                */
-               void appendFooter(LogString& output, helpers::Pool& pool) 
override;
+        void appendFooter(LogString& output) override;
 
                /**
                The HTML layout handles the throwable contained in logging
diff --git a/src/main/include/log4cxx/jsonlayout.h 
b/src/main/include/log4cxx/jsonlayout.h
index 31e47c14..9ddb0f45 100644
--- a/src/main/include/log4cxx/jsonlayout.h
+++ b/src/main/include/log4cxx/jsonlayout.h
@@ -40,7 +40,7 @@ class LOG4CXX_EXPORT JSONLayout : public Layout
                void appendSerializedNDC(LogString& buf,
                        const spi::LoggingEventPtr& event) const;
                void appendSerializedLocationInfo(LogString& buf,
-                       const spi::LoggingEventPtr& event, 
LOG4CXX_NS::helpers::Pool& p) const;
+            const spi::LoggingEventPtr& event) const;
 
        public:
                static void appendItem(const LogString& item, LogString& 
toAppendTo);
@@ -105,7 +105,7 @@ class LOG4CXX_EXPORT JSONLayout : public Layout
 
                No action is performed in this implementation.
                */
-               void activateOptions(helpers::Pool& /* p */) override;
+        void activateOptions() override;
 
                /**
                \copybrief spi::OptionHandler::setOption()
@@ -119,7 +119,7 @@ class LOG4CXX_EXPORT JSONLayout : public Layout
                void setOption(const LogString& option, const LogString& value) 
override;
 
                void format(LogString& output,
-                       const spi::LoggingEventPtr& event, helpers::Pool& pool) 
const override;
+            const spi::LoggingEventPtr& event) const override;
 
                /**
                The JSON layout handles the throwable contained in logging
diff --git a/src/main/include/log4cxx/layout.h 
b/src/main/include/log4cxx/layout.h
index c3931a87..a04ef3e7 100644
--- a/src/main/include/log4cxx/layout.h
+++ b/src/main/include/log4cxx/layout.h
@@ -45,7 +45,7 @@ class LOG4CXX_EXPORT Layout :
                Implement this method to create your own layout format.
                */
                virtual void format(LogString& output,
-                       const spi::LoggingEventPtr& event, 
LOG4CXX_NS::helpers::Pool& pool) const = 0;
+            const spi::LoggingEventPtr& event) const = 0;
 
                /**
                Returns the content type output by this layout. The base class
@@ -57,13 +57,13 @@ class LOG4CXX_EXPORT Layout :
                Append the header for the layout format. The base class does
                nothing.
                */
-               virtual void appendHeader(LogString& output, 
LOG4CXX_NS::helpers::Pool& p);
+        virtual void appendHeader(LogString& output);
 
                /**
                Append the footer for the layout format. The base class does
                nothing.
                */
-               virtual void appendFooter(LogString& output, 
LOG4CXX_NS::helpers::Pool& p);
+        virtual void appendFooter(LogString& output);
 
                /**
                If the layout handles the throwable object contained within
diff --git a/src/main/include/log4cxx/logger.h 
b/src/main/include/log4cxx/logger.h
index 4078615d..ac4e232a 100644
--- a/src/main/include/log4cxx/logger.h
+++ b/src/main/include/log4cxx/logger.h
@@ -98,7 +98,7 @@ class LOG4CXX_EXPORT Logger
                @param event the event to log.
                @param p memory pool for any allocations needed to process 
request.
                */
-               void callAppenders(const spi::LoggingEventPtr& event, 
helpers::Pool& p) const;
+        void callAppenders(const spi::LoggingEventPtr& event) const;
 
                /**
                Close all attached appenders implementing the AppenderAttachable
diff --git a/src/main/include/log4cxx/net/socketappenderskeleton.h 
b/src/main/include/log4cxx/net/socketappenderskeleton.h
index fad8a8a1..3cf1aba6 100644
--- a/src/main/include/log4cxx/net/socketappenderskeleton.h
+++ b/src/main/include/log4cxx/net/socketappenderskeleton.h
@@ -146,7 +146,7 @@ class LOG4CXX_EXPORT SocketAppenderSkeleton : public 
AppenderSkeleton
 
         virtual void setSocket(LOG4CXX_NS::helpers::SocketPtr& socket) = 0;
 
-        virtual void cleanUp(p) = 0;
+        virtual void cleanUp() = 0;
 
                virtual int getDefaultDelay() const = 0;
 
diff --git a/src/main/include/log4cxx/net/xmlsocketappender.h 
b/src/main/include/log4cxx/net/xmlsocketappender.h
index 44dd01db..04ccfbf1 100644
--- a/src/main/include/log4cxx/net/xmlsocketappender.h
+++ b/src/main/include/log4cxx/net/xmlsocketappender.h
@@ -135,15 +135,15 @@ class LOG4CXX_EXPORT XMLSocketAppender : public 
SocketAppenderSkeleton
 
 
        protected:
-               void setSocket(LOG4CXX_NS::helpers::SocketPtr& socket, 
helpers::Pool& p) override;
+        void setSocket(LOG4CXX_NS::helpers::SocketPtr& socket) override;
 
-               void cleanUp(helpers::Pool& p) override;
+        void cleanUp() override;
 
                int getDefaultDelay() const override;
 
                int getDefaultPort() const override;
 
-               void append(const spi::LoggingEventPtr& event, helpers::Pool& 
pool) override;
+        void append(const spi::LoggingEventPtr& event) override;
 
        private:
                //  prevent copy and assignment statements
diff --git a/src/main/include/log4cxx/pattern/fulllocationpatternconverter.h 
b/src/main/include/log4cxx/pattern/fulllocationpatternconverter.h
index 7c696cd8..87347048 100644
--- a/src/main/include/log4cxx/pattern/fulllocationpatternconverter.h
+++ b/src/main/include/log4cxx/pattern/fulllocationpatternconverter.h
@@ -55,8 +55,7 @@ class LOG4CXX_EXPORT FullLocationPatternConverter
                using LoggingEventPatternConverter::format;
 
                void format(const spi::LoggingEventPtr& event,
-                       LogString& toAppendTo,
-                       helpers::Pool& p) const override;
+            LogString& toAppendTo) const override;
 };
 
 }
diff --git a/src/main/include/log4cxx/pattern/levelpatternconverter.h 
b/src/main/include/log4cxx/pattern/levelpatternconverter.h
index 1b3be654..c2b15ae1 100644
--- a/src/main/include/log4cxx/pattern/levelpatternconverter.h
+++ b/src/main/include/log4cxx/pattern/levelpatternconverter.h
@@ -54,8 +54,7 @@ class LOG4CXX_EXPORT LevelPatternConverter : public 
LoggingEventPatternConverter
                using LoggingEventPatternConverter::format;
 
                void format(const spi::LoggingEventPtr& event,
-                       LogString& toAppendTo,
-                       helpers::Pool& p) const override;
+            LogString& toAppendTo) const override;
 
                LogString getStyleClass(const   helpers::ObjectPtr& e) const 
override;
 };
diff --git a/src/main/include/log4cxx/pattern/linelocationpatternconverter.h 
b/src/main/include/log4cxx/pattern/linelocationpatternconverter.h
index 32514dee..23b61572 100644
--- a/src/main/include/log4cxx/pattern/linelocationpatternconverter.h
+++ b/src/main/include/log4cxx/pattern/linelocationpatternconverter.h
@@ -55,8 +55,7 @@ class LOG4CXX_EXPORT LineLocationPatternConverter
                using LoggingEventPatternConverter::format;
 
                void format(const spi::LoggingEventPtr& event,
-                       LogString& toAppendTo,
-                       helpers::Pool& p) const override;
+            LogString& toAppendTo) const override;
 };
 
 }
diff --git a/src/main/include/log4cxx/pattern/lineseparatorpatternconverter.h 
b/src/main/include/log4cxx/pattern/lineseparatorpatternconverter.h
index a0b49952..472967e3 100644
--- a/src/main/include/log4cxx/pattern/lineseparatorpatternconverter.h
+++ b/src/main/include/log4cxx/pattern/lineseparatorpatternconverter.h
@@ -55,12 +55,10 @@ class LOG4CXX_EXPORT LineSeparatorPatternConverter
                using LoggingEventPatternConverter::format;
 
                void format(const spi::LoggingEventPtr& event,
-                       LogString& toAppendTo,
-                       helpers::Pool& p) const override;
+            LogString& toAppendTo) const override;
 
                void format(const helpers::ObjectPtr& obj,
-                       LogString& toAppendTo,
-                       helpers::Pool& p) const override;
+            LogString& toAppendTo) const override;
 };
 
 }
diff --git a/src/main/include/log4cxx/pattern/literalpatternconverter.h 
b/src/main/include/log4cxx/pattern/literalpatternconverter.h
index 19ba6a97..76752ecb 100644
--- a/src/main/include/log4cxx/pattern/literalpatternconverter.h
+++ b/src/main/include/log4cxx/pattern/literalpatternconverter.h
@@ -50,12 +50,10 @@ class LOG4CXX_EXPORT LiteralPatternConverter : public 
LoggingEventPatternConvert
                using LoggingEventPatternConverter::format;
 
                void format(const spi::LoggingEventPtr& event,
-                       LogString& toAppendTo,
-                       helpers::Pool& p) const override;
+            LogString& toAppendTo) const override;
 
                void format(const helpers::ObjectPtr& obj,
-                       LogString& toAppendTo,
-                       helpers::Pool& p) const override;
+            LogString& toAppendTo) const override;
 };
 
 }
diff --git a/src/main/include/log4cxx/pattern/loggerpatternconverter.h 
b/src/main/include/log4cxx/pattern/loggerpatternconverter.h
index f91e7452..afed93f1 100644
--- a/src/main/include/log4cxx/pattern/loggerpatternconverter.h
+++ b/src/main/include/log4cxx/pattern/loggerpatternconverter.h
@@ -55,8 +55,7 @@ class LOG4CXX_EXPORT LoggerPatternConverter : public 
NamePatternConverter
                using NamePatternConverter::format;
 
                void format(const spi::LoggingEventPtr& event,
-                       LogString& toAppendTo,
-                       helpers::Pool& p) const override;
+            LogString& toAppendTo) const override;
 };
 
 }
diff --git a/src/main/include/log4cxx/pattern/mdcpatternconverter.h 
b/src/main/include/log4cxx/pattern/mdcpatternconverter.h
index f3ce34f6..281acecd 100644
--- a/src/main/include/log4cxx/pattern/mdcpatternconverter.h
+++ b/src/main/include/log4cxx/pattern/mdcpatternconverter.h
@@ -54,8 +54,7 @@ class LOG4CXX_EXPORT MDCPatternConverter : public 
LoggingEventPatternConverter
 
                void format
                        ( const spi::LoggingEventPtr& event
-                       , LogString&                  toAppendTo
-                       , helpers::Pool&              p
+            , LogString&                  toAppendTo
                        ) const override;
 };
 }
diff --git a/src/main/include/log4cxx/pattern/messagepatternconverter.h 
b/src/main/include/log4cxx/pattern/messagepatternconverter.h
index b9e9a3a3..6f837a42 100644
--- a/src/main/include/log4cxx/pattern/messagepatternconverter.h
+++ b/src/main/include/log4cxx/pattern/messagepatternconverter.h
@@ -54,8 +54,7 @@ class LOG4CXX_EXPORT MessagePatternConverter : public 
LoggingEventPatternConvert
                using LoggingEventPatternConverter::format;
 
                void format(const spi::LoggingEventPtr& event,
-                       LogString& toAppendTo,
-                       helpers::Pool& p) const override;
+            LogString& toAppendTo) const override;
 };
 }
 }
diff --git a/src/main/include/log4cxx/pattern/methodlocationpatternconverter.h 
b/src/main/include/log4cxx/pattern/methodlocationpatternconverter.h
index 572301af..ec7f2ddb 100644
--- a/src/main/include/log4cxx/pattern/methodlocationpatternconverter.h
+++ b/src/main/include/log4cxx/pattern/methodlocationpatternconverter.h
@@ -55,8 +55,7 @@ class LOG4CXX_EXPORT MethodLocationPatternConverter
                using LoggingEventPatternConverter::format;
 
                void format(const spi::LoggingEventPtr& event,
-                       LogString& toAppendTo,
-                       helpers::Pool& p) const override;
+            LogString& toAppendTo) const override;
 };
 }
 }
diff --git a/src/main/include/log4cxx/pattern/ndcpatternconverter.h 
b/src/main/include/log4cxx/pattern/ndcpatternconverter.h
index e00f8fc8..4fa14548 100644
--- a/src/main/include/log4cxx/pattern/ndcpatternconverter.h
+++ b/src/main/include/log4cxx/pattern/ndcpatternconverter.h
@@ -54,8 +54,7 @@ class LOG4CXX_EXPORT NDCPatternConverter : public 
LoggingEventPatternConverter
                using LoggingEventPatternConverter::format;
 
                void format(const spi::LoggingEventPtr& event,
-                       LogString& toAppendTo,
-                       helpers::Pool& p) const override;
+            LogString& toAppendTo) const override;
 };
 }
 }
diff --git a/src/main/include/log4cxx/pattern/propertiespatternconverter.h 
b/src/main/include/log4cxx/pattern/propertiespatternconverter.h
index e24a2686..1d6c3275 100644
--- a/src/main/include/log4cxx/pattern/propertiespatternconverter.h
+++ b/src/main/include/log4cxx/pattern/propertiespatternconverter.h
@@ -67,8 +67,7 @@ class LOG4CXX_EXPORT PropertiesPatternConverter
                using LoggingEventPatternConverter::format;
 
                void format(const spi::LoggingEventPtr& event,
-                       LogString& toAppendTo,
-                       LOG4CXX_NS::helpers::Pool& p) const override;
+            LogString& toAppendTo) const override;
 };
 }
 }
diff --git a/src/main/include/log4cxx/pattern/relativetimepatternconverter.h 
b/src/main/include/log4cxx/pattern/relativetimepatternconverter.h
index 028ec018..bb9f5ba7 100644
--- a/src/main/include/log4cxx/pattern/relativetimepatternconverter.h
+++ b/src/main/include/log4cxx/pattern/relativetimepatternconverter.h
@@ -58,8 +58,7 @@ class LOG4CXX_EXPORT RelativeTimePatternConverter : public 
LoggingEventPatternCo
 
 
                void format(const spi::LoggingEventPtr& event,
-                       LogString& toAppendTo,
-                       LOG4CXX_NS::helpers::Pool& p) const override;
+            LogString& toAppendTo) const override;
 };
 }
 }
diff --git 
a/src/main/include/log4cxx/pattern/shortfilelocationpatternconverter.h 
b/src/main/include/log4cxx/pattern/shortfilelocationpatternconverter.h
index 1f5bcd33..9f7b79fb 100644
--- a/src/main/include/log4cxx/pattern/shortfilelocationpatternconverter.h
+++ b/src/main/include/log4cxx/pattern/shortfilelocationpatternconverter.h
@@ -58,8 +58,7 @@ class LOG4CXX_EXPORT ShortFileLocationPatternConverter
                using LoggingEventPatternConverter::format;
 
                void format(const spi::LoggingEventPtr& event,
-                       LogString& toAppendTo,
-                       helpers::Pool& p) const override;
+            LogString& toAppendTo) const override;
 };
 
 }
diff --git a/src/main/include/log4cxx/pattern/threadpatternconverter.h 
b/src/main/include/log4cxx/pattern/threadpatternconverter.h
index 0292f4c8..8e74e5d6 100644
--- a/src/main/include/log4cxx/pattern/threadpatternconverter.h
+++ b/src/main/include/log4cxx/pattern/threadpatternconverter.h
@@ -54,8 +54,7 @@ class LOG4CXX_EXPORT ThreadPatternConverter : public 
LoggingEventPatternConverte
                using LoggingEventPatternConverter::format;
 
                void format(const spi::LoggingEventPtr& event,
-                       LogString& toAppendTo,
-                       helpers::Pool& p) const override;
+            LogString& toAppendTo) const override;
 };
 }
 }
diff --git a/src/main/include/log4cxx/pattern/threadusernamepatternconverter.h 
b/src/main/include/log4cxx/pattern/threadusernamepatternconverter.h
index fc18813b..7c4f17aa 100644
--- a/src/main/include/log4cxx/pattern/threadusernamepatternconverter.h
+++ b/src/main/include/log4cxx/pattern/threadusernamepatternconverter.h
@@ -43,8 +43,7 @@ class LOG4CXX_EXPORT ThreadUsernamePatternConverter : public 
LoggingEventPattern
                    const std::vector<LogString>& options);
 
            void format(const spi::LoggingEventPtr& event,
-                   LogString& toAppendTo,
-                   LOG4CXX_NS::helpers::Pool& p) const override;
+                LogString& toAppendTo) const override;
 };
 
 }
diff --git 
a/src/main/include/log4cxx/pattern/throwableinformationpatternconverter.h 
b/src/main/include/log4cxx/pattern/throwableinformationpatternconverter.h
index 54900974..aa2e7aa6 100644
--- a/src/main/include/log4cxx/pattern/throwableinformationpatternconverter.h
+++ b/src/main/include/log4cxx/pattern/throwableinformationpatternconverter.h
@@ -60,8 +60,7 @@ class LOG4CXX_EXPORT ThrowableInformationPatternConverter
                using LoggingEventPatternConverter::format;
 
                void format(const spi::LoggingEventPtr& event,
-                       LogString& toAppendTo,
-                       helpers::Pool& p) const override;
+            LogString& toAppendTo) const override;
 
                /**
                 * This converter obviously handles throwables.
diff --git a/src/main/include/log4cxx/patternlayout.h 
b/src/main/include/log4cxx/patternlayout.h
index bf03655d..938be160 100644
--- a/src/main/include/log4cxx/patternlayout.h
+++ b/src/main/include/log4cxx/patternlayout.h
@@ -526,8 +526,7 @@ class LOG4CXX_EXPORT PatternLayout : public Layout
                 * Produces a formatted string as specified by the conversion 
pattern.
                 */
                void format(    LogString& output,
-                       const spi::LoggingEventPtr& event,
-                       helpers::Pool& pool) const override;
+            const spi::LoggingEventPtr& event) const override;
 
        protected:
                virtual LOG4CXX_NS::pattern::PatternMap getFormatSpecifiers();
diff --git a/src/main/include/log4cxx/rolling/rollingfileappender.h 
b/src/main/include/log4cxx/rolling/rollingfileappender.h
index e34916a3..877dba4c 100644
--- a/src/main/include/log4cxx/rolling/rollingfileappender.h
+++ b/src/main/include/log4cxx/rolling/rollingfileappender.h
@@ -152,7 +152,7 @@ class LOG4CXX_EXPORT RollingFileAppender : public 
FileAppender
 
                \sa FileAppender::activateOptions()
                */
-               void activateOptions(helpers::Pool& pool ) override;
+        void activateOptions() override;
 
                /**
                   Implements the configured roll over behaviour.
@@ -168,16 +168,16 @@ class LOG4CXX_EXPORT RollingFileAppender : public 
FileAppender
                   <code>File</code> is truncated with no backup files created.
 
                 */
-               bool rollover(LOG4CXX_NS::helpers::Pool& p);
+        bool rollover();
 
        protected:
 
                /**
                 Actual writing occurs here.
                */
-               void subAppend(const spi::LoggingEventPtr& event, 
helpers::Pool& p) override;
+        void subAppend(const spi::LoggingEventPtr& event) override;
 
-               bool rolloverInternal(LOG4CXX_NS::helpers::Pool& p);
+        bool rolloverInternal();
 
        public:
                /**
diff --git a/src/main/include/log4cxx/rolling/timebasedrollingpolicy.h 
b/src/main/include/log4cxx/rolling/timebasedrollingpolicy.h
index 8d4628c0..c350cc58 100755
--- a/src/main/include/log4cxx/rolling/timebasedrollingpolicy.h
+++ b/src/main/include/log4cxx/rolling/timebasedrollingpolicy.h
@@ -161,7 +161,7 @@ class LOG4CXX_EXPORT TimeBasedRollingPolicy : public 
virtual RollingPolicyBase,
 
                \sa RollingPolicyBase::activateOptions()
                */
-               void activateOptions(helpers::Pool& ) override;
+        void activateOptions() override;
 
                void setMultiprocess(bool multiprocess);
 
@@ -170,16 +170,14 @@ class LOG4CXX_EXPORT TimeBasedRollingPolicy : public 
virtual RollingPolicyBase,
                 */
                RolloverDescriptionPtr initialize(
                        const   LogString&              currentActiveFile,
-                       const   bool                    append,
-                       helpers::Pool& pool) override;
+            const   bool                    append) override;
 
                /**
                 * {@inheritDoc}
                 */
                RolloverDescriptionPtr rollover(
                        const   LogString&              currentActiveFile,
-                       const   bool                    append,
-                       helpers::Pool& pool) override;
+            const   bool                    append) override;
 
                /**
                 * Determines if a rollover may be appropriate at this time.  If
@@ -232,17 +230,17 @@ class LOG4CXX_EXPORT TimeBasedRollingPolicy : public 
virtual RollingPolicyBase,
                /**
                 * Generate mmap file
                 */
-               int createMMapFile(const std::string& lastfilename, 
LOG4CXX_NS::helpers::Pool& pool);
+        int createMMapFile(const std::string& lastfilename);
 
                /**
                 *  Detect if the mmap file is empty
                 */
-               bool isMapFileEmpty(LOG4CXX_NS::helpers::Pool& pool);
+        bool isMapFileEmpty();
 
                /**
                 *   init MMapFile
                 */
-               void initMMapFile(const LogString& lastFileName, 
LOG4CXX_NS::helpers::Pool& pool);
+        void initMMapFile(const LogString& lastFileName);
 
                /**
                 *   lock MMapFile
@@ -257,7 +255,7 @@ class LOG4CXX_EXPORT TimeBasedRollingPolicy : public 
virtual RollingPolicyBase,
                /**
                 *   create MMapFile/lockFile
                 */
-               const std::string createFile(const std::string& filename, const 
std::string& suffix, LOG4CXX_NS::helpers::Pool& pool);
+        const std::string createFile(const std::string& filename, const 
std::string& suffix);
 
 };
 
diff --git a/src/main/include/log4cxx/simplelayout.h 
b/src/main/include/log4cxx/simplelayout.h
index 20d90902..8a2e47d4 100644
--- a/src/main/include/log4cxx/simplelayout.h
+++ b/src/main/include/log4cxx/simplelayout.h
@@ -50,8 +50,7 @@ class LOG4CXX_EXPORT SimpleLayout : public Layout
                </pre>
                */
                void format(LogString& output,
-                       const spi::LoggingEventPtr& event,
-                       helpers::Pool& pool) const override;
+            const spi::LoggingEventPtr& event) const override;
 
                /**
                The SimpleLayout does not handle the throwable contained within
@@ -68,7 +67,7 @@ class LOG4CXX_EXPORT SimpleLayout : public Layout
 
                No action is performed in this implementation.
                */
-               void activateOptions(helpers::Pool& /* p */) override {}
+        void activateOptions() override {}
 
                /**
                \copybrief spi::OptionHandler::setOption()
diff --git a/src/main/include/log4cxx/xml/xmllayout.h 
b/src/main/include/log4cxx/xml/xmllayout.h
index 40484941..b69e389f 100644
--- a/src/main/include/log4cxx/xml/xmllayout.h
+++ b/src/main/include/log4cxx/xml/xmllayout.h
@@ -102,7 +102,7 @@ class LOG4CXX_EXPORT XMLLayout : public Layout
 
                No action is performed in this implementation.
                */
-               void activateOptions(helpers::Pool& /* p */) override { }
+        void activateOptions() override { }
 
                /**
                \copybrief spi::OptionHandler::setOption()
@@ -120,8 +120,7 @@ class LOG4CXX_EXPORT XMLLayout : public Layout
                * in conformance with the log4cxx.dtd.
                **/
                void format(LogString& output,
-                       const spi::LoggingEventPtr& event,
-                       helpers::Pool& p) const override;
+            const spi::LoggingEventPtr& event) const override;
 
                /**
                The XMLLayout prints and does not ignore exceptions. Hence the

Reply via email to