You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by rm...@apache.org on 2026/01/31 00:29:33 UTC
(logging-log4cxx) branch refactor-apr-classes updated: more removal of pool
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 4c6a8793 more removal of pool
4c6a8793 is described below
commit 4c6a8793d475224b373f9f6e2a1738bf84ae35d1
Author: Robert Middleton <ro...@rm5248.com>
AuthorDate: Fri Jan 30 19:20:21 2026 -0500
more removal of pool
---
src/main/cpp/action.cpp | 4 +-
src/main/cpp/appenderattachableimpl.cpp | 4 +-
src/main/cpp/appenderskeleton.cpp | 8 +-
src/main/cpp/aprinitializer.cpp | 2 +-
src/main/cpp/asyncappender.cpp | 38 ++--
src/main/cpp/bufferedwriter.cpp | 16 +-
src/main/cpp/bytearrayoutputstream.cpp | 6 +-
src/main/cpp/cacheddateformat.cpp | 20 +-
src/main/cpp/classnamepatternconverter.cpp | 3 +-
src/main/cpp/colorendpatternconverter.cpp | 3 +-
src/main/cpp/colorstartpatternconverter.cpp | 26 ++-
src/main/cpp/consoleappender.cpp | 14 +-
src/main/cpp/cyclicbuffer.cpp | 10 +-
src/main/cpp/dateformat.cpp | 4 +-
src/main/cpp/datepatternconverter.cpp | 17 +-
src/main/cpp/defaultconfigurator.cpp | 13 +-
src/main/cpp/exception.cpp | 19 +-
src/main/cpp/fallbackerrorhandler.cpp | 2 +-
src/main/cpp/file.cpp | 180 ++++-------------
src/main/cpp/fileappender.cpp | 30 ++-
src/main/cpp/fileinputstream.cpp | 64 +++---
src/main/cpp/filelocationpatternconverter.cpp | 3 +-
src/main/cpp/fileoutputstream.cpp | 99 +++-------
src/main/cpp/filerenameaction.cpp | 4 +-
src/main/cpp/filewatchdog.cpp | 16 +-
src/main/cpp/filter.cpp | 2 +-
src/main/cpp/filterbasedtriggeringpolicy.cpp | 4 +-
src/main/cpp/fixedwindowrollingpolicy.cpp | 34 ++--
src/main/cpp/gzcompressaction.cpp | 216 ++++++++++-----------
src/main/cpp/inputstreamreader.cpp | 4 +-
src/main/cpp/integerpatternconverter.cpp | 5 +-
src/main/cpp/manualtriggeringpolicy.cpp | 2 +-
src/main/cpp/odbcappender.cpp | 16 +-
src/main/cpp/onlyonceerrorhandler.cpp | 2 +-
src/main/cpp/outputstreamwriter.cpp | 16 +-
src/main/cpp/patternlayout.cpp | 15 +-
src/main/cpp/rollingpolicybase.cpp | 7 +-
src/main/cpp/simpledateformat.cpp | 38 ++--
src/main/cpp/sizebasedtriggeringpolicy.cpp | 2 +-
src/main/cpp/smtpappender.cpp | 10 +-
src/main/cpp/socketappenderskeleton.cpp | 34 ++--
src/main/cpp/stringhelper.cpp | 4 +-
src/main/cpp/syslogappender.cpp | 13 +-
src/main/cpp/systemerrwriter.cpp | 6 +-
src/main/cpp/systemoutwriter.cpp | 14 +-
src/main/cpp/telnetappender.cpp | 23 +--
src/main/cpp/writerappender.cpp | 25 ++-
src/main/cpp/zipcompressaction.cpp | 174 ++++++++---------
src/main/include/log4cxx/appender.h | 3 +-
src/main/include/log4cxx/appenderskeleton.h | 8 +-
src/main/include/log4cxx/asyncappender.h | 5 +-
src/main/include/log4cxx/consoleappender.h | 2 +-
src/main/include/log4cxx/db/odbcappender.h | 20 +-
src/main/include/log4cxx/file.h | 50 ++---
src/main/include/log4cxx/fileappender.h | 14 +-
.../log4cxx/helpers/appenderattachableimpl.h | 3 +-
src/main/include/log4cxx/helpers/bufferedwriter.h | 6 +-
.../log4cxx/helpers/bytearrayoutputstream.h | 6 +-
.../include/log4cxx/helpers/cacheddateformat.h | 18 +-
src/main/include/log4cxx/helpers/dateformat.h | 10 +-
.../include/log4cxx/helpers/fileoutputstream.h | 11 +-
.../include/log4cxx/helpers/inputstreamreader.h | 6 +-
.../include/log4cxx/helpers/onlyonceerrorhandler.h | 2 +-
src/main/include/log4cxx/helpers/outputstream.h | 6 +-
.../include/log4cxx/helpers/outputstreamwriter.h | 6 +-
src/main/include/log4cxx/helpers/reader.h | 10 +-
.../include/log4cxx/helpers/simpledateformat.h | 3 +-
.../include/log4cxx/helpers/strftimedateformat.h | 3 +-
src/main/include/log4cxx/helpers/stringhelper.h | 7 +-
src/main/include/log4cxx/helpers/systemerrwriter.h | 10 +-
src/main/include/log4cxx/helpers/systemoutwriter.h | 10 +-
src/main/include/log4cxx/helpers/writer.h | 6 +-
src/main/include/log4cxx/log4cxx.h.in | 6 +-
src/main/include/log4cxx/net/smtpappender.h | 6 +-
.../include/log4cxx/net/socketappenderskeleton.h | 8 +-
src/main/include/log4cxx/net/syslogappender.h | 4 +-
src/main/include/log4cxx/net/telnetappender.h | 6 +-
.../log4cxx/pattern/classnamepatternconverter.h | 3 +-
.../log4cxx/pattern/colorendpatternconverter.h | 3 +-
.../log4cxx/pattern/colorstartpatternconverter.h | 3 +-
.../include/log4cxx/pattern/datepatternconverter.h | 9 +-
.../log4cxx/pattern/filelocationpatternconverter.h | 3 +-
.../log4cxx/pattern/integerpatternconverter.h | 3 +-
.../log4cxx/pattern/loggingeventpatternconverter.h | 9 +-
.../include/log4cxx/pattern/patternconverter.h | 6 +-
src/main/include/log4cxx/patternlayout.h | 2 +-
.../log4cxx/private/appenderskeleton_priv.h | 1 -
.../include/log4cxx/private/writerappender_priv.h | 2 +-
src/main/include/log4cxx/rolling/action.h | 4 +-
.../include/log4cxx/rolling/filerenameaction.h | 2 +-
.../log4cxx/rolling/filterbasedtriggeringpolicy.h | 7 +-
.../log4cxx/rolling/fixedwindowrollingpolicy.h | 15 +-
.../include/log4cxx/rolling/gzcompressaction.h | 2 +-
.../log4cxx/rolling/manualtriggeringpolicy.h | 2 +-
src/main/include/log4cxx/rolling/rollingpolicy.h | 12 +-
.../include/log4cxx/rolling/rollingpolicybase.h | 7 +-
.../log4cxx/rolling/sizebasedtriggeringpolicy.h | 2 +-
.../include/log4cxx/rolling/zipcompressaction.h | 2 +-
src/main/include/log4cxx/spi/filter.h | 2 +-
src/main/include/log4cxx/spi/optionhandler.h | 2 +-
.../include/log4cxx/varia/fallbackerrorhandler.h | 2 +-
src/main/include/log4cxx/writerappender.h | 10 +-
src/test/cpp/util/compare.cpp | 23 +--
src/test/cpp/util/compare.h | 3 +-
src/test/cpp/vectorappender.cpp | 2 +-
src/test/cpp/vectorappender.h | 2 +-
106 files changed, 695 insertions(+), 976 deletions(-)
diff --git a/src/main/cpp/action.cpp b/src/main/cpp/action.cpp
index ccc31d4a..e9defc20 100644
--- a/src/main/cpp/action.cpp
+++ b/src/main/cpp/action.cpp
@@ -41,7 +41,7 @@ Action::~Action()
/**
* {@inheritDoc}
*/
-void Action::run(LOG4CXX_NS::helpers::Pool& pool1)
+void Action::run()
{
std::lock_guard<std::mutex> lock(m_priv->mutex);
@@ -49,7 +49,7 @@ void Action::run(LOG4CXX_NS::helpers::Pool& pool1)
{
try
{
- execute(pool1);
+ execute();
}
catch (std::exception& ex)
{
diff --git a/src/main/cpp/appenderattachableimpl.cpp b/src/main/cpp/appenderattachableimpl.cpp
index 304b7061..ee57165c 100644
--- a/src/main/cpp/appenderattachableimpl.cpp
+++ b/src/main/cpp/appenderattachableimpl.cpp
@@ -96,7 +96,7 @@ void AppenderAttachableImpl::addAppender(const AppenderPtr newAppender)
m_priv = std::make_unique<priv_data>(AppenderList{newAppender});
}
-int AppenderAttachableImpl::appendLoopOnAppenders(const spi::LoggingEventPtr& event, Pool& p)
+int AppenderAttachableImpl::appendLoopOnAppenders(const spi::LoggingEventPtr& event)
{
int result = 0;
if (m_priv)
@@ -104,7 +104,7 @@ int AppenderAttachableImpl::appendLoopOnAppenders(const spi::LoggingEventPtr& ev
auto allAppenders = m_priv->getAppenders();
for (auto& appender : *allAppenders)
{
- appender->doAppend(event, p);
+ appender->doAppend(event);
++result;
}
}
diff --git a/src/main/cpp/appenderskeleton.cpp b/src/main/cpp/appenderskeleton.cpp
index 7f63cd0f..3b0ab572 100644
--- a/src/main/cpp/appenderskeleton.cpp
+++ b/src/main/cpp/appenderskeleton.cpp
@@ -88,14 +88,14 @@ bool AppenderSkeleton::isAsSevereAsThreshold(const LevelPtr& level) const
return ((level == 0) || level->isGreaterOrEqual(m_priv->threshold));
}
-void AppenderSkeleton::doAppend(const spi::LoggingEventPtr& event, Pool& pool1)
+void AppenderSkeleton::doAppend(const spi::LoggingEventPtr& event)
{
std::lock_guard<std::recursive_mutex> lock(m_priv->mutex);
- doAppendImpl(event, pool1);
+ doAppendImpl(event);
}
-void AppenderSkeleton::doAppendImpl(const spi::LoggingEventPtr& event, Pool& pool)
+void AppenderSkeleton::doAppendImpl(const spi::LoggingEventPtr& event)
{
if (m_priv->closed)
{
@@ -104,7 +104,7 @@ void AppenderSkeleton::doAppendImpl(const spi::LoggingEventPtr& event, Pool& poo
}
else if (isAsSevereAsThreshold(event->getLevel()) && isAccepted(event))
{
- append(event, pool);
+ append(event);
}
}
diff --git a/src/main/cpp/aprinitializer.cpp b/src/main/cpp/aprinitializer.cpp
index 6f11aea1..8ae85d3f 100644
--- a/src/main/cpp/aprinitializer.cpp
+++ b/src/main/cpp/aprinitializer.cpp
@@ -44,7 +44,7 @@ using IdentifiedObject = std::pair<size_t, ObjectPtr>;
struct APRInitializer::APRInitializerPrivate{
APRInitializerPrivate() :
p(0),
- startTime(0),
+ startTime(std::chrono::system_clock::now()),
tlsKey(0){
}
diff --git a/src/main/cpp/asyncappender.cpp b/src/main/cpp/asyncappender.cpp
index 8443d46f..b8bc3a39 100644
--- a/src/main/cpp/asyncappender.cpp
+++ b/src/main/cpp/asyncappender.cpp
@@ -104,12 +104,11 @@ class DiscardSummary
*
* @return the new event.
*/
- LoggingEventPtr createEvent(Pool& p);
+ LoggingEventPtr createEvent();
#if LOG4CXX_ABI_VERSION <= 15
static
- ::LOG4CXX_NS::spi::LoggingEventPtr createEvent(::LOG4CXX_NS::helpers::Pool& p,
- size_t discardedCount);
+ ::LOG4CXX_NS::spi::LoggingEventPtr createEvent(size_t discardedCount);
#endif
/**
@@ -297,16 +296,16 @@ void AsyncAppender::setOption(const LogString& option,
}
-void AsyncAppender::doAppend(const spi::LoggingEventPtr& event, Pool& pool1)
+void AsyncAppender::doAppend(const spi::LoggingEventPtr& event)
{
- doAppendImpl(event, pool1);
+ doAppendImpl(event);
}
-void AsyncAppender::append(const spi::LoggingEventPtr& event, Pool& p)
+void AsyncAppender::append(const spi::LoggingEventPtr& event)
{
if (priv->bufferSize <= 0)
{
- priv->appenders.appendLoopOnAppenders(event, p);
+ priv->appenders.appendLoopOnAppenders(event);
return;
}
@@ -535,10 +534,10 @@ void DiscardSummary::add(const LoggingEventPtr& event)
++this->count;
}
-LoggingEventPtr DiscardSummary::createEvent(Pool& p)
+LoggingEventPtr DiscardSummary::createEvent()
{
LogString msg(LOG4CXX_STR("Discarded "));
- StringHelper::toString(this->count, p, msg);
+ StringHelper::toString(this->count, msg);
msg.append(LOG4CXX_STR(" messages ") + this->reason + LOG4CXX_STR(" including: "));
msg.append(this->maxEvent->getRenderedMessage());
return std::make_shared<LoggingEvent>
@@ -551,11 +550,10 @@ LoggingEventPtr DiscardSummary::createEvent(Pool& p)
#if LOG4CXX_ABI_VERSION <= 15
::LOG4CXX_NS::spi::LoggingEventPtr
-DiscardSummary::createEvent(::LOG4CXX_NS::helpers::Pool& p,
- size_t discardedCount)
+DiscardSummary::createEvent(size_t discardedCount)
{
LogString msg(LOG4CXX_STR("Discarded "));
- StringHelper::toString(discardedCount, p, msg);
+ StringHelper::toString(discardedCount, msg);
msg.append(LOG4CXX_STR(" messages due to a full event buffer"));
return std::make_shared<LoggingEvent>(
@@ -577,8 +575,7 @@ void AsyncAppender::dispatch()
bool isActive = true;
while (isActive)
- {
- Pool p;
+ {
LoggingEventList events;
events.reserve(priv->bufferSize);
for (int count = 0; count < 2 && priv->dispatchedCount == priv->commitCount; ++count)
@@ -608,7 +605,7 @@ void AsyncAppender::dispatch()
blockedCount += priv->blockedCount;
for (auto& discardItem : priv->discardMap)
{
- events.push_back(discardItem.second.createEvent(p));
+ events.push_back(discardItem.second.createEvent());
discardCount += discardItem.second.getCount();
}
priv->discardMap.clear();
@@ -618,7 +615,7 @@ void AsyncAppender::dispatch()
{
try
{
- priv->appenders.appendLoopOnAppenders(item, p);
+ priv->appenders.appendLoopOnAppenders(item);
}
catch (std::exception& ex)
{
@@ -640,8 +637,7 @@ void AsyncAppender::dispatch()
++iterationCount;
}
if (LogLog::isDebugEnabled())
- {
- Pool p;
+ {
LogString msg(LOG4CXX_STR("[") + getName() + LOG4CXX_STR("] AsyncAppender"));
#ifdef _DEBUG
msg += LOG4CXX_STR(" iterationCount ");
@@ -654,14 +650,14 @@ void AsyncAppender::dispatch()
StringHelper::toString(priv->commitCount, p, msg);
#endif
msg += LOG4CXX_STR(" dispatchedCount ");
- StringHelper::toString(priv->dispatchedCount, p, msg);
+ StringHelper::toString(priv->dispatchedCount, msg);
msg += LOG4CXX_STR(" discardCount ");
- StringHelper::toString(discardCount, p, msg);
+ StringHelper::toString(discardCount, msg);
msg += LOG4CXX_STR(" pendingCountHistogram");
for (auto item : pendingCountHistogram)
{
msg += logchar(' ');
- StringHelper::toString(item, p, msg);
+ StringHelper::toString(item, msg);
}
LogLog::debug(msg);
}
diff --git a/src/main/cpp/bufferedwriter.cpp b/src/main/cpp/bufferedwriter.cpp
index 0b9f70cb..927ca85b 100644
--- a/src/main/cpp/bufferedwriter.cpp
+++ b/src/main/cpp/bufferedwriter.cpp
@@ -49,32 +49,32 @@ BufferedWriter::~BufferedWriter()
{
}
-void BufferedWriter::close(Pool& p)
+void BufferedWriter::close()
{
- flush(p);
- m_priv->out->close(p);
+ flush();
+ m_priv->out->close();
}
-void BufferedWriter::flush(Pool& p)
+void BufferedWriter::flush()
{
if (m_priv->buf.length() > 0)
{
- m_priv->out->write(m_priv->buf, p);
+ m_priv->out->write(m_priv->buf);
m_priv->buf.erase(m_priv->buf.begin(), m_priv->buf.end());
}
}
-void BufferedWriter::write(const LogString& str, Pool& p)
+void BufferedWriter::write(const LogString& str)
{
if (m_priv->buf.length() + str.length() > m_priv->sz)
{
- m_priv->out->write(m_priv->buf, p);
+ m_priv->out->write(m_priv->buf);
m_priv->buf.erase(m_priv->buf.begin(), m_priv->buf.end());
}
if (str.length() > m_priv->sz)
{
- m_priv->out->write(str, p);
+ m_priv->out->write(str);
}
else
{
diff --git a/src/main/cpp/bytearrayoutputstream.cpp b/src/main/cpp/bytearrayoutputstream.cpp
index 8df3c2e6..1e42dfcb 100644
--- a/src/main/cpp/bytearrayoutputstream.cpp
+++ b/src/main/cpp/bytearrayoutputstream.cpp
@@ -39,15 +39,15 @@ ByteArrayOutputStream::~ByteArrayOutputStream()
{
}
-void ByteArrayOutputStream::close(Pool& /* p */)
+void ByteArrayOutputStream::close()
{
}
-void ByteArrayOutputStream::flush(Pool& /* p */)
+void ByteArrayOutputStream::flush()
{
}
-void ByteArrayOutputStream::write(ByteBuffer& buf, Pool& /* p */ )
+void ByteArrayOutputStream::write(ByteBuffer& buf)
{
size_t sz = m_priv->array.size();
m_priv->array.resize(sz + buf.remaining());
diff --git a/src/main/cpp/cacheddateformat.cpp b/src/main/cpp/cacheddateformat.cpp
index 197f94cf..d7a37be9 100644
--- a/src/main/cpp/cacheddateformat.cpp
+++ b/src/main/cpp/cacheddateformat.cpp
@@ -151,11 +151,11 @@ CachedDateFormat::~CachedDateFormat() {}
*/
int CachedDateFormat::findMillisecondStart(
log4cxx_time_t time, const LogString& formatted,
- const DateFormatPtr& formatter,
- Pool& pool)
+ const DateFormatPtr& formatter)
{
- log4cxx_time_t slotBegin = (time / 1000000) * 1000000;
+ 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());
if (slotBegin > time)
{
@@ -175,7 +175,7 @@ int CachedDateFormat::findMillisecondStart(
}
LogString plusMagic;
- formatter->format(plusMagic, slotBegin + magic, pool);
+ formatter->format(plusMagic, slotBegin + magic);
/**
* If the string lengths differ then
@@ -199,7 +199,7 @@ int CachedDateFormat::findMillisecondStart(
millisecondFormat(millis, formattedMillis, 0);
LogString plusZero;
- formatter->format(plusZero, slotBegin, pool);
+ formatter->format(plusZero, slotBegin);
// 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
@@ -240,7 +240,7 @@ int CachedDateFormat::findMillisecondStart(
* @param now Number of milliseconds after midnight 1 Jan 1970 GMT.
* @param sbuf the string buffer to write to
*/
-void CachedDateFormat::format(LogString& buf, log4cxx_time_t now, Pool& p) const
+void CachedDateFormat::format(LogString& buf, log4cxx_time_t now) const
{
//
@@ -288,7 +288,7 @@ void CachedDateFormat::format(LogString& buf, log4cxx_time_t now, Pool& p) const
// could not use previous value.
// Call underlying formatter to format date.
m_priv->cache.erase(m_priv->cache.begin(), m_priv->cache.end());
- m_priv->formatter->format(m_priv->cache, now, p);
+ 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;
@@ -304,7 +304,7 @@ void CachedDateFormat::format(LogString& buf, log4cxx_time_t now, Pool& p) const
//
if (m_priv->millisecondStart >= 0)
{
- m_priv->millisecondStart = findMillisecondStart(now, m_priv->cache, m_priv->formatter, p);
+ m_priv->millisecondStart = findMillisecondStart(now, m_priv->cache, m_priv->formatter);
}
}
@@ -340,9 +340,9 @@ void CachedDateFormat::setTimeZone(const TimeZonePtr& timeZone)
-void CachedDateFormat::numberFormat(LogString& s, int n, Pool& p) const
+void CachedDateFormat::numberFormat(LogString& s, int n) const
{
- m_priv->formatter->numberFormat(s, n, p);
+ m_priv->formatter->numberFormat(s, n);
}
diff --git a/src/main/cpp/classnamepatternconverter.cpp b/src/main/cpp/classnamepatternconverter.cpp
index 27226aaf..767723fe 100644
--- a/src/main/cpp/classnamepatternconverter.cpp
+++ b/src/main/cpp/classnamepatternconverter.cpp
@@ -48,8 +48,7 @@ PatternConverterPtr ClassNamePatternConverter::newInstance(
void ClassNamePatternConverter::format(
const LoggingEventPtr& event,
- LogString& toAppendTo,
- Pool& /* p */) const
+ LogString& toAppendTo) const
{
int initialLength = (int)toAppendTo.length();
append(toAppendTo, event->getLocationInformation().getClassName());
diff --git a/src/main/cpp/colorendpatternconverter.cpp b/src/main/cpp/colorendpatternconverter.cpp
index 6f9ac19e..4bda1146 100644
--- a/src/main/cpp/colorendpatternconverter.cpp
+++ b/src/main/cpp/colorendpatternconverter.cpp
@@ -43,8 +43,7 @@ PatternConverterPtr ColorEndPatternConverter::newInstance(
void ColorEndPatternConverter::format(
const LoggingEventPtr& event,
- LogString& toAppendTo,
- Pool& p) const
+ LogString& toAppendTo) const
{
// Reset all colors on the output(code 0)
diff --git a/src/main/cpp/colorstartpatternconverter.cpp b/src/main/cpp/colorstartpatternconverter.cpp
index daef2db2..d634b85d 100644
--- a/src/main/cpp/colorstartpatternconverter.cpp
+++ b/src/main/cpp/colorstartpatternconverter.cpp
@@ -31,7 +31,7 @@ IMPLEMENT_LOG4CXX_OBJECT(ColorStartPatternConverter)
#define priv static_cast<ColorPatternConverterPrivate*>(m_priv.get())
-static LogString colorToANSISequence(const LogString& color, bool isForeground, Pool& pool){
+static LogString colorToANSISequence(const LogString& color, bool isForeground){
int numberToConvert = 0;
if(StringHelper::equalsIgnoreCase(color, LOG4CXX_STR("BLACK"), LOG4CXX_STR("black"))){
@@ -59,11 +59,11 @@ static LogString colorToANSISequence(const LogString& color, bool isForeground,
if( isForeground == false ){
numberToConvert += 10;
}
- StringHelper::toString(numberToConvert, pool, ret);
+ StringHelper::toString(numberToConvert, ret);
return ret;
}
-static LogString graphicsModeToANSISequence(const LogString& graphicsMode, Pool& pool){
+static LogString graphicsModeToANSISequence(const LogString& graphicsMode){
int numberToConvert = 0;
if(StringHelper::equalsIgnoreCase(graphicsMode, LOG4CXX_STR("BOLD"), LOG4CXX_STR("bold"))){
@@ -86,11 +86,11 @@ static LogString graphicsModeToANSISequence(const LogString& graphicsMode, Pool&
return LOG4CXX_STR("");
}
LogString ret;
- StringHelper::toString(numberToConvert, pool, ret);
+ StringHelper::toString(numberToConvert, ret);
return ret;
}
-static LogString convertSingleSequence(const LogString& sequence, Pool& pool){
+static LogString convertSingleSequence(const LogString& sequence){
LogString strInParens;
bool inParens = false;
bool hasParens = false;
@@ -124,11 +124,11 @@ static LogString convertSingleSequence(const LogString& sequence, Pool& pool){
if(StringHelper::startsWith(sequence, LOG4CXX_STR("fg("))){
// Parse foreground
- return colorToANSISequence(strInParens, true, pool);
+ return colorToANSISequence(strInParens, true);
}else if(StringHelper::startsWith(sequence, LOG4CXX_STR("bg("))){
- return colorToANSISequence(strInParens, false, pool);
+ return colorToANSISequence(strInParens, false);
}else{
- return graphicsModeToANSISequence(sequence, pool);
+ return graphicsModeToANSISequence(sequence);
}
}
@@ -160,8 +160,7 @@ PatternConverterPtr ColorStartPatternConverter::newInstance(
void ColorStartPatternConverter::format(
const LoggingEventPtr& event,
- LogString& toAppendTo,
- Pool& p) const
+ LogString& toAppendTo) const
{
LOG4CXX_NS::LevelPtr lvl = event->getLevel();
@@ -222,8 +221,7 @@ void ColorStartPatternConverter::setTraceColor(const LogString& color){
}
void ColorStartPatternConverter::parseColor(const LogString& color, LogString* result){
- LogString lower = StringHelper::toLowerCase(color);
- Pool pool;
+ LogString lower = StringHelper::toLowerCase(color);
// If the color we are trying to parse is blank, clear our result
if(StringHelper::trim(color).empty() ||
@@ -256,7 +254,7 @@ void ColorStartPatternConverter::parseColor(const LogString& color, LogString* r
LogString tmp;
for( size_t x = 0; x < color.size(); x++ ){
if(color[x] == '|' ){
- LogString toAppend = convertSingleSequence(tmp, pool);
+ LogString toAppend = convertSingleSequence(tmp);
tmp.clear();
if(!toAppend.empty()){
result->push_back(';');
@@ -266,7 +264,7 @@ void ColorStartPatternConverter::parseColor(const LogString& color, LogString* r
tmp.push_back(color[x]);
}
}
- LogString toAppend = convertSingleSequence(tmp, pool);
+ LogString toAppend = convertSingleSequence(tmp);
tmp.clear();
if(!toAppend.empty()){
result->push_back(';');
diff --git a/src/main/cpp/consoleappender.cpp b/src/main/cpp/consoleappender.cpp
index 9e5b5b83..f4caedf7 100644
--- a/src/main/cpp/consoleappender.cpp
+++ b/src/main/cpp/consoleappender.cpp
@@ -48,19 +48,17 @@ ConsoleAppender::ConsoleAppender()
ConsoleAppender::ConsoleAppender(const LayoutPtr& layout)
: WriterAppender (std::make_unique<ConsoleAppenderPriv>(getSystemOut()))
{
- setLayout(layout);
- Pool p;
+ setLayout(layout);
setWriter(std::make_shared<SystemOutWriter>());
- WriterAppender::activateOptions(p);
+ WriterAppender::activateOptions();
}
ConsoleAppender::ConsoleAppender(const LayoutPtr& layout, const LogString& target)
: WriterAppender (std::make_unique<ConsoleAppenderPriv>(target))
{
setLayout(layout);
- setTarget(target);
- Pool p;
- ConsoleAppender::activateOptions(p);
+ setTarget(target);
+ ConsoleAppender::activateOptions();
}
ConsoleAppender::~ConsoleAppender()
@@ -112,7 +110,7 @@ void ConsoleAppender::targetWarn(const LogString& val)
LogLog::warn(LOG4CXX_STR("Using previously set target, System.out by default."));
}
-void ConsoleAppender::activateOptions(Pool& p)
+void ConsoleAppender::activateOptions()
{
if (StringHelper::equalsIgnoreCase(_priv->target,
LOG4CXX_STR("SYSTEM.OUT"), LOG4CXX_STR("system.out")))
@@ -127,7 +125,7 @@ void ConsoleAppender::activateOptions(Pool& p)
setWriter(writer1);
}
- WriterAppender::activateOptions(p);
+ WriterAppender::activateOptions();
}
void ConsoleAppender::setOption(const LogString& option, const LogString& value)
diff --git a/src/main/cpp/cyclicbuffer.cpp b/src/main/cpp/cyclicbuffer.cpp
index b27653c0..b3b9d4ff 100644
--- a/src/main/cpp/cyclicbuffer.cpp
+++ b/src/main/cpp/cyclicbuffer.cpp
@@ -47,9 +47,8 @@ CyclicBuffer::CyclicBuffer(int maxSize1)
{
if (maxSize1 < 1)
{
- LogString msg(LOG4CXX_STR("The maxSize argument ("));
- Pool p;
- StringHelper::toString(maxSize1, p, msg);
+ LogString msg(LOG4CXX_STR("The maxSize argument ("));
+ StringHelper::toString(maxSize1, msg);
msg.append(LOG4CXX_STR(") is not a positive integer."));
throw IllegalArgumentException(msg);
}
@@ -128,9 +127,8 @@ void CyclicBuffer::resize(int newSize)
{
if (newSize < 0)
{
- LogString msg(LOG4CXX_STR("Negative array size ["));
- Pool p;
- StringHelper::toString(newSize, p, msg);
+ LogString msg(LOG4CXX_STR("Negative array size ["));
+ StringHelper::toString(newSize, msg);
msg.append(LOG4CXX_STR("] not allowed."));
throw IllegalArgumentException(msg);
}
diff --git a/src/main/cpp/dateformat.cpp b/src/main/cpp/dateformat.cpp
index b2a91e98..25b8a351 100644
--- a/src/main/cpp/dateformat.cpp
+++ b/src/main/cpp/dateformat.cpp
@@ -29,9 +29,9 @@ DateFormat::~DateFormat() {}
void DateFormat::setTimeZone(const TimeZonePtr&) {}
-void DateFormat::numberFormat(LogString& s, int n, Pool& p) const
+void DateFormat::numberFormat(LogString& s, int n) const
{
- StringHelper::toString(n, p, s);
+ StringHelper::toString(n, s);
}
DateFormat::DateFormat() {}
diff --git a/src/main/cpp/datepatternconverter.cpp b/src/main/cpp/datepatternconverter.cpp
index 9f20d9ce..5e4314b9 100644
--- a/src/main/cpp/datepatternconverter.cpp
+++ b/src/main/cpp/datepatternconverter.cpp
@@ -146,10 +146,9 @@ PatternConverterPtr DatePatternConverter::newInstance(
void DatePatternConverter::format(
const LoggingEventPtr& event,
- LogString& toAppendTo,
- Pool& p) const
+ LogString& toAppendTo) const
{
- priv->df->format(toAppendTo, event->getTimeStamp(), p);
+ priv->df->format(toAppendTo, event->getTimeStamp());
}
/**
@@ -157,14 +156,13 @@ void DatePatternConverter::format(
*/
void DatePatternConverter::format(
const ObjectPtr& obj,
- LogString& toAppendTo,
- Pool& p) const
+ LogString& toAppendTo) const
{
DatePtr date = LOG4CXX_NS::cast<Date>(obj);
if (date != NULL)
{
- format(date, toAppendTo, p);
+ format(date, toAppendTo);
}
else
{
@@ -172,7 +170,7 @@ void DatePatternConverter::format(
if (event != NULL)
{
- format(event, toAppendTo, p);
+ format(event, toAppendTo);
}
}
}
@@ -184,8 +182,7 @@ void DatePatternConverter::format(
*/
void DatePatternConverter::format(
const DatePtr& date,
- LogString& toAppendTo,
- Pool& p) const
+ LogString& toAppendTo) const
{
- priv->df->format(toAppendTo, date->getTime(), p);
+ priv->df->format(toAppendTo, date->getTime());
}
diff --git a/src/main/cpp/defaultconfigurator.cpp b/src/main/cpp/defaultconfigurator.cpp
index c34f3d64..6e0b4813 100644
--- a/src/main/cpp/defaultconfigurator.cpp
+++ b/src/main/cpp/defaultconfigurator.cpp
@@ -42,9 +42,8 @@ void DefaultConfigurator::setConfigurationFileName(const LogString& path)
void DefaultConfigurator::setConfigurationWatchSeconds(int seconds)
{
- Pool p;
LogString strSeconds;
- StringHelper::toString(seconds, p, strSeconds);
+ StringHelper::toString(seconds, strSeconds);
Configurator::properties().setProperty(LOG4CXX_STR("LOG4CXX_CONFIGURATION_WATCH_SECONDS"), strSeconds);
}
@@ -59,7 +58,6 @@ void DefaultConfigurator::configure(LoggerRepositoryPtr repository)
{
LogString configurationFileName = getConfigurationFileName();
- Pool pool;
File configuration;
if (configurationFileName.empty())
@@ -81,7 +79,7 @@ void DefaultConfigurator::configure(LoggerRepositoryPtr repository)
debugMsg.append(names[i]);
LogLog::debug(debugMsg);
}
- if (candidate.exists(pool))
+ if (candidate.exists())
{
configuration = candidate;
break;
@@ -93,7 +91,7 @@ void DefaultConfigurator::configure(LoggerRepositoryPtr repository)
configuration.setPath(configurationFileName);
}
- if (configuration.exists(pool))
+ if (configuration.exists())
{
if (LogLog::isDebugEnabled())
{
@@ -192,8 +190,7 @@ DefaultConfigurator::configureFromFile(const std::vector<LogString>& directories
{
auto result = std::tuple<ConfigurationStatus, LogString>
{ ConfigurationStatus::NotConfigured, LogString() };
- auto r = LogManager::getLoggerRepository();
- Pool pool;
+ auto r = LogManager::getLoggerRepository();
for (auto& dir : directories )
{
@@ -205,7 +202,7 @@ DefaultConfigurator::configureFromFile(const std::vector<LogString>& directories
if (LogLog::isDebugEnabled())
LogLog::debug(LOG4CXX_STR("Checking file ") + candidate_str);
- if (candidate.exists(pool))
+ if (candidate.exists())
{
std::get<1>(result) = candidate_str;
configure(r);
diff --git a/src/main/cpp/exception.cpp b/src/main/cpp/exception.cpp
index 0ef952ab..fe8cb7d9 100644
--- a/src/main/cpp/exception.cpp
+++ b/src/main/cpp/exception.cpp
@@ -19,10 +19,10 @@
#include <log4cxx/helpers/exception.h>
#include <string.h>
#include <string>
+#include <string.h>
#include <log4cxx/helpers/stringhelper.h>
#include <log4cxx/helpers/transcoder.h>
#include <log4cxx/helpers/pool.h>
-#include <apr_errno.h>
using namespace LOG4CXX_NS;
using namespace LOG4CXX_NS::helpers;
@@ -106,8 +106,7 @@ RuntimeException& RuntimeException::operator=(const RuntimeException& src)
LogString RuntimeException::formatMessage(log4cxx_status_t stat)
{
LogString s(LOG4CXX_STR("RuntimeException: return code = "));
- Pool p;
- StringHelper::toString(stat, p, s);
+ StringHelper::toString(stat, s);
return s;
}
@@ -183,13 +182,12 @@ LogString IOException::formatMessage(log4cxx_status_t stat)
LogString Exception::makeMessage(const LogString& type, log4cxx_status_t stat)
{
LogString s = type;
- char err_buff[1024] = {0};
- apr_strerror(stat, err_buff, sizeof(err_buff));
- if (0 == err_buff[0] || 0 == strncmp(err_buff, "APR does not understand", 23))
+ char err_buff[1024] = {0};
+ strerror_r(stat, err_buff, sizeof(err_buff));
+ if (0 == err_buff[0])
{
- s.append(LOG4CXX_STR(": error code "));
- Pool p;
- StringHelper::toString(stat, p, s);
+ s.append(LOG4CXX_STR(": error code "));
+ StringHelper::toString(stat, s);
}
else
{
@@ -294,8 +292,7 @@ InterruptedException& InterruptedException::operator=(const InterruptedException
LogString InterruptedException::formatMessage(log4cxx_status_t stat)
{
LogString s(LOG4CXX_STR("InterruptedException: stat = "));
- Pool p;
- StringHelper::toString(stat, p, s);
+ StringHelper::toString(stat, s);
return s;
}
diff --git a/src/main/cpp/fallbackerrorhandler.cpp b/src/main/cpp/fallbackerrorhandler.cpp
index 3d5f2bef..ac89a88b 100644
--- a/src/main/cpp/fallbackerrorhandler.cpp
+++ b/src/main/cpp/fallbackerrorhandler.cpp
@@ -132,7 +132,7 @@ void FallbackErrorHandler::setBackupAppender(const AppenderPtr& backup1)
}
-void FallbackErrorHandler::activateOptions(Pool&)
+void FallbackErrorHandler::activateOptions()
{
}
diff --git a/src/main/cpp/file.cpp b/src/main/cpp/file.cpp
index 12cf96b3..ac03996b 100644
--- a/src/main/cpp/file.cpp
+++ b/src/main/cpp/file.cpp
@@ -17,12 +17,11 @@
#include <log4cxx/logstring.h>
#include <log4cxx/file.h>
-#include <apr_file_io.h>
-#include <apr_file_info.h>
#include <log4cxx/helpers/transcoder.h>
-#include <log4cxx/helpers/pool.h>
#include <assert.h>
#include <log4cxx/helpers/exception.h>
+#include <fstream>
+#include <filesystem>
using namespace LOG4CXX_NS;
using namespace LOG4CXX_NS::helpers;
@@ -43,7 +42,7 @@ struct File::FilePrivate{
{}
LogString path;
- bool autoDelete;
+ bool autoDelete;
};
File::File() :
@@ -135,9 +134,8 @@ File& File::operator=(const File& src)
File::~File()
{
- if(m_priv->autoDelete){
- Pool p;
- deleteFile(p);
+ if(m_priv->autoDelete){
+ deleteFile();
}
}
@@ -166,174 +164,78 @@ LogString File::getName() const
return m_priv->path;
}
-char* File::getPath(Pool& p) const
+log4cxx_status_t File::open(std::fstream* file_stream, int flags, int perm) const
{
- int style = APR_FILEPATH_ENCODING_UNKNOWN;
- apr_filepath_encoding(&style, p.getAPRPool());
- char* retval = NULL;
-
- if (style == APR_FILEPATH_ENCODING_UTF8)
- {
- retval = Transcoder::encodeUTF8(m_priv->path, p);
- }
- else
- {
- retval = Transcoder::encode(m_priv->path, p);
- }
-
- return retval;
+ file_stream->open(m_priv->path);
+ if(file_stream->is_open()){
+ return 0;
+ }
+ return -1;
}
-log4cxx_status_t File::open(apr_file_t** file, int flags,
- int perm, Pool& p) const
+bool File::exists() const
{
- return apr_file_open(file, getPath(p), flags, perm, p.getAPRPool());
+ return std::filesystem::exists(m_priv->path);
}
-
-
-bool File::exists(Pool& p) const
+bool File::deleteFile() const
{
- apr_finfo_t finfo;
- apr_status_t rv = apr_stat(&finfo, getPath(p),
- 0, p.getAPRPool());
- return rv == APR_SUCCESS;
+ return std::filesystem::remove(m_priv->path);
}
-char* File::convertBackSlashes(char* src)
+bool File::renameTo(const File& dest) const
{
- for (char* c = src; *c != 0; c++)
- {
- if (*c == '\\')
- {
- *c = '/';
- }
- }
-
- return src;
+ std::error_code ec;
+ std::filesystem::rename(m_priv->path, dest.getPath(), ec);
+ if(ec){
+ return false;
+ }
+ return true;
}
-bool File::deleteFile(Pool& p) const
-{
- apr_status_t rv = apr_file_remove(convertBackSlashes(getPath(p)),
- p.getAPRPool());
- return rv == APR_SUCCESS;
-}
-bool File::renameTo(const File& dest, Pool& p) const
+size_t File::length() const
{
- apr_status_t rv = apr_file_rename(convertBackSlashes(getPath(p)),
- convertBackSlashes(dest.getPath(p)),
- p.getAPRPool());
- return rv == APR_SUCCESS;
+ return std::filesystem::file_size(m_priv->path);
}
-size_t File::length(Pool& pool) const
+log4cxx_time_t File::lastModified() const
{
- apr_finfo_t finfo;
- apr_status_t rv = apr_stat(&finfo, getPath(pool),
- APR_FINFO_SIZE, pool.getAPRPool());
-
- if (rv == APR_SUCCESS)
- {
- return (size_t) finfo.size;
- }
-
- return 0;
+ return std::filesystem::last_write_time(m_priv->path);
}
-log4cxx_time_t File::lastModified(Pool& pool) const
+std::vector<LogString> File::list() const
{
- apr_finfo_t finfo;
- apr_status_t rv = apr_stat(&finfo, getPath(pool),
- APR_FINFO_MTIME, pool.getAPRPool());
-
- if (rv == APR_SUCCESS)
- {
- return finfo.mtime;
- }
+ std::vector<LogString> filenames;
- return 0;
-}
+ if(!std::filesystem::is_directory(m_priv->path)){
+ return filenames;
+ }
+ for(auto const& dir_entry : std::filesystem::directory_iterator(m_priv->path)){
+ LogString filename;
+ const std::filesystem::path file_path = dir_entry.path();
-std::vector<LogString> File::list(Pool& p) const
-{
- apr_dir_t* dir;
- apr_finfo_t entry;
- std::vector<LogString> filenames;
-
- apr_status_t stat = apr_dir_open(&dir,
- convertBackSlashes(getPath(p)),
- p.getAPRPool());
+ Transcoder::decode(file_path.filename(), filename);
- if (stat == APR_SUCCESS)
- {
- int style = APR_FILEPATH_ENCODING_UNKNOWN;
- apr_filepath_encoding(&style, p.getAPRPool());
- stat = apr_dir_read(&entry, APR_FINFO_DIRENT, dir);
-
- while (stat == APR_SUCCESS)
- {
- if (entry.name != NULL)
- {
- LogString filename;
-
- if (style == APR_FILEPATH_ENCODING_UTF8)
- {
- Transcoder::decodeUTF8(entry.name, filename);
- }
- else
- {
- Transcoder::decode(entry.name, filename);
- }
-
- filenames.push_back(filename);
- }
-
- stat = apr_dir_read(&entry, APR_FINFO_DIRENT, dir);
- }
-
- stat = apr_dir_close(dir);
- }
+ filenames.push_back(filename);
+ }
return filenames;
}
-LogString File::getParent(Pool&) const
+LogString File::getParent() const
{
- LogString::size_type slashPos = m_priv->path.rfind(LOG4CXX_STR('/'));
- LogString::size_type backPos = m_priv->path.rfind(LOG4CXX_STR('\\'));
-
- if (slashPos == LogString::npos)
- {
- slashPos = backPos;
- }
- else
- {
- if (backPos != LogString::npos && backPos > slashPos)
- {
- slashPos = backPos;
- }
- }
-
- LogString parent;
-
- if (slashPos != LogString::npos && slashPos > 0)
- {
- parent.assign(m_priv->path, 0, slashPos);
- }
+ LogString parent = std::filesystem::path(m_priv->path).parent_path();
return parent;
}
-bool File::mkdirs(Pool& p) const
+bool File::mkdirs() const
{
- apr_status_t stat = apr_dir_make_recursive(convertBackSlashes(getPath(p)),
- APR_OS_DEFAULT, p.getAPRPool());
- return stat == APR_SUCCESS;
+ return std::filesystem::create_directories(m_priv->path);
}
void File::setAutoDelete(bool autoDelete){
diff --git a/src/main/cpp/fileappender.cpp b/src/main/cpp/fileappender.cpp
index b2350c73..5e1007e6 100644
--- a/src/main/cpp/fileappender.cpp
+++ b/src/main/cpp/fileappender.cpp
@@ -52,8 +52,7 @@ FileAppender::FileAppender
)
: WriterAppender(std::make_unique<FileAppenderPriv>(layout1, fileName1, append1, bufferedIO1, bufferSize1))
{
- Pool p;
- activateOptions(p);
+ activateOptions();
}
FileAppender::FileAppender
@@ -63,15 +62,13 @@ FileAppender::FileAppender
)
: WriterAppender(std::make_unique<FileAppenderPriv>(layout1, fileName1, append1, false))
{
- Pool p;
- activateOptions(p);
+ activateOptions();
}
FileAppender::FileAppender(const LayoutPtr& layout1, const LogString& fileName1)
: WriterAppender(std::make_unique<FileAppenderPriv>(layout1, fileName1))
{
- Pool p;
- activateOptions(p);
+ activateOptions();
}
FileAppender::FileAppender(std::unique_ptr<FileAppenderPriv> priv)
@@ -154,13 +151,13 @@ void FileAppender::setOption(const LogString& option,
}
}
-void FileAppender::activateOptions(Pool& p)
+void FileAppender::activateOptions()
{
std::lock_guard<std::recursive_mutex> lock(_priv->mutex);
- activateOptionsInternal(p);
+ activateOptionsInternal();
}
-void FileAppender::activateOptionsInternal(Pool& p)
+void FileAppender::activateOptionsInternal()
{
int errors = 0;
@@ -168,7 +165,7 @@ void FileAppender::activateOptionsInternal(Pool& p)
{
try
{
- setFileInternal(_priv->fileName, _priv->fileAppend, _priv->bufferedIO, _priv->bufferSize, p);
+ setFileInternal(_priv->fileName, _priv->fileAppend, _priv->bufferedIO, _priv->bufferSize);
}
catch (IOException& e)
{
@@ -191,7 +188,7 @@ void FileAppender::activateOptionsInternal(Pool& p)
if (errors == 0)
{
- WriterAppender::activateOptions(p);
+ WriterAppender::activateOptions();
if (auto p = _priv->taskManager.lock())
p->value().removePeriodicTask(getName());
@@ -288,8 +285,7 @@ void FileAppender::setFileInternal(
const LogString& filename,
bool append1,
bool bufferedIO1,
- size_t bufferSize1,
- Pool& p)
+ size_t bufferSize1)
{
// It does not make sense to have immediate flush and bufferedIO.
if (bufferedIO1)
@@ -311,7 +307,7 @@ void FileAppender::setFileInternal(
{
File outFile;
outFile.setPath(filename);
- writeBOM = !outFile.exists(p);
+ writeBOM = !outFile.exists();
}
else
{
@@ -327,14 +323,14 @@ void FileAppender::setFileInternal(
}
catch (IOException&)
{
- LogString parentName = File().setPath(filename).getParent(p);
+ LogString parentName = File().setPath(filename).getParent();
if (!parentName.empty())
{
File parentDir;
parentDir.setPath(parentName);
- if (!parentDir.exists(p) && parentDir.mkdirs(p))
+ if (!parentDir.exists() && parentDir.mkdirs())
{
outStream = std::make_shared<FileOutputStream>(filename, append1);
}
@@ -373,7 +369,7 @@ void FileAppender::setFileInternal(
_priv->bufferedIO = bufferedIO1;
_priv->fileName = filename;
_priv->bufferSize = (int)bufferSize1;
- writeHeader(p);
+ writeHeader();
}
diff --git a/src/main/cpp/fileinputstream.cpp b/src/main/cpp/fileinputstream.cpp
index 3a1ac091..df322a6f 100644
--- a/src/main/cpp/fileinputstream.cpp
+++ b/src/main/cpp/fileinputstream.cpp
@@ -20,17 +20,16 @@
#include <log4cxx/helpers/exception.h>
#include <log4cxx/helpers/bytebuffer.h>
#include <log4cxx/helpers/pool.h>
-#include <apr_file_io.h>
+#include <fstream>
using namespace LOG4CXX_NS;
using namespace LOG4CXX_NS::helpers;
struct FileInputStream::FileInputStreamPrivate
{
- FileInputStreamPrivate() : fileptr(nullptr) {}
+ FileInputStreamPrivate(){}
- Pool pool;
- apr_file_t* fileptr;
+ std::fstream m_fstream;
};
IMPLEMENT_LOG4CXX_OBJECT(FileInputStream)
@@ -51,13 +50,12 @@ FileInputStream::FileInputStream(const logchar* filename) :
void FileInputStream::open(const LogString& filename)
{
- apr_fileperms_t perm = APR_OS_DEFAULT;
- apr_int32_t flags = APR_READ;
- apr_status_t stat = File().setPath(filename).open(&m_priv->fileptr, flags, perm, m_priv->pool);
- if (stat != APR_SUCCESS)
+ bool success = File().setPath(filename).open(&m_priv->m_fstream, 0, 0);
+
+ if (!success)
{
- throw IOException(filename, stat);
+ throw IOException(filename);
}
}
@@ -65,56 +63,42 @@ void FileInputStream::open(const LogString& filename)
FileInputStream::FileInputStream(const File& aFile) :
m_priv(std::make_unique<FileInputStreamPrivate>())
{
- apr_fileperms_t perm = APR_OS_DEFAULT;
- apr_int32_t flags = APR_READ;
- apr_status_t stat = aFile.open(&m_priv->fileptr, flags, perm, m_priv->pool);
+ bool success = File().setPath(aFile.getName()).open(&m_priv->m_fstream, 0, 0);
- if (stat != APR_SUCCESS)
- {
- throw IOException(aFile.getName(), stat);
- }
+ if (!success)
+ {
+ throw IOException(aFile.getName());
+ }
}
FileInputStream::~FileInputStream()
{
- if (m_priv->fileptr)
- {
- apr_file_close(m_priv->fileptr);
- }
+ close();
}
void FileInputStream::close()
{
- apr_status_t stat = apr_file_close(m_priv->fileptr);
-
- if (stat == APR_SUCCESS)
- {
- m_priv->fileptr = NULL;
- }
- else
- {
- throw IOException(stat);
- }
+ if (m_priv->m_fstream.is_open())
+ {
+ m_priv->m_fstream.close();
+ }
}
int FileInputStream::read(ByteBuffer& buf)
{
- apr_size_t bytesRead = buf.remaining();
- apr_status_t stat = apr_file_read(m_priv->fileptr, buf.current(), &bytesRead);
+ size_t bytesRead = buf.remaining();
+ size_t before_read = m_priv->m_fstream.tellg();
+ m_priv->m_fstream.read(buf.current(), bytesRead);
+ size_t after_read = m_priv->m_fstream.tellg();
int retval = -1;
- if (!APR_STATUS_IS_EOF(stat))
- {
- if (stat != APR_SUCCESS)
- {
- throw IOException(stat);
- }
-
+ if (!m_priv->m_fstream.eof())
+ {
buf.position(buf.position() + bytesRead);
- retval = (int)bytesRead;
+ retval = (int)(after_read - before_read);
}
return retval;
diff --git a/src/main/cpp/filelocationpatternconverter.cpp b/src/main/cpp/filelocationpatternconverter.cpp
index efb40664..4bd27759 100644
--- a/src/main/cpp/filelocationpatternconverter.cpp
+++ b/src/main/cpp/filelocationpatternconverter.cpp
@@ -41,8 +41,7 @@ PatternConverterPtr FileLocationPatternConverter::newInstance(
void FileLocationPatternConverter::format(
const LoggingEventPtr& event,
- LogString& toAppendTo,
- Pool& /* p */ ) const
+ LogString& toAppendTo ) const
{
append(toAppendTo, event->getLocationInformation().getFileName());
}
diff --git a/src/main/cpp/fileoutputstream.cpp b/src/main/cpp/fileoutputstream.cpp
index d75634f5..b053be87 100644
--- a/src/main/cpp/fileoutputstream.cpp
+++ b/src/main/cpp/fileoutputstream.cpp
@@ -20,17 +20,16 @@
#include <log4cxx/helpers/pool.h>
#include <log4cxx/helpers/exception.h>
#include <log4cxx/helpers/bytebuffer.h>
-#include <apr_file_io.h>
+#include <fstream>
using namespace LOG4CXX_NS;
using namespace LOG4CXX_NS::helpers;
struct FileOutputStream::FileOutputStreamPrivate
{
- FileOutputStreamPrivate() : fileptr(nullptr) {}
+ FileOutputStreamPrivate(){}
- Pool pool;
- apr_file_t* fileptr;
+ std::ofstream file_out;
};
IMPLEMENT_LOG4CXX_OBJECT(FileOutputStream)
@@ -38,98 +37,58 @@ IMPLEMENT_LOG4CXX_OBJECT(FileOutputStream)
FileOutputStream::FileOutputStream(const LogString& filename,
bool append) : m_priv(std::make_unique<FileOutputStreamPrivate>())
{
- m_priv->fileptr = open(filename, append, m_priv->pool);
+ open(m_priv->file_out, filename, append);
}
FileOutputStream::FileOutputStream(const logchar* filename,
bool append) : m_priv(std::make_unique<FileOutputStreamPrivate>())
{
- m_priv->fileptr = open(filename, append, m_priv->pool);
+ open(m_priv->file_out, filename, append);
}
-apr_file_t* FileOutputStream::open(const LogString& filename,
- bool append, Pool& pool)
+bool FileOutputStream::open(std::ofstream& fout, const LogString& filename,
+ bool append)
{
- apr_fileperms_t perm = APR_OS_DEFAULT;
- apr_int32_t flags = APR_WRITE | APR_CREATE;
-
- if (append)
- {
- flags |= APR_APPEND;
- }
- else
- {
- flags |= APR_TRUNCATE;
- }
-
- File fn;
- fn.setPath(filename);
- apr_file_t* fileptr = 0;
- apr_status_t stat = fn.open(&fileptr, flags, perm, pool);
-
- if (stat != APR_SUCCESS)
- {
- throw IOException(filename, stat);
- }
-
- return fileptr;
+ auto open_mode = std::ios_base::out;
+ if(!append){
+ open_mode |= std::ios_base::trunc;
+ }else{
+ open_mode |= std::ios_base::ate;
+ }
+ fout.open(filename.c_str(), open_mode);
+ if(!fout.is_open()){
+ throw IOException(filename);
+ }
+
+ return true;
}
FileOutputStream::~FileOutputStream()
{
- if (m_priv->fileptr)
- {
- apr_file_close(m_priv->fileptr);
- }
}
-void FileOutputStream::close(Pool& /* p */)
+void FileOutputStream::close()
{
- if (m_priv->fileptr)
+ if (m_priv->file_out.is_open())
{
- apr_status_t stat = apr_file_close(m_priv->fileptr);
-
- if (stat != APR_SUCCESS)
- {
- throw IOException(stat);
- }
-
- m_priv->fileptr = NULL;
+ m_priv->file_out.close();
}
}
-void FileOutputStream::flush(Pool& /* p */)
+void FileOutputStream::flush()
{
+ m_priv->file_out.flush();
}
-void FileOutputStream::write(ByteBuffer& buf, Pool& /* p */ )
+void FileOutputStream::write(ByteBuffer& buf)
{
- if (m_priv->fileptr == NULL)
- {
- throw NullPointerException(LOG4CXX_STR("FileOutputStream"));
- }
-
- size_t nbytes = buf.remaining();
- size_t pos = buf.position();
+ size_t nbytes = buf.remaining();
const char* data = buf.data();
- while (nbytes > 0)
- {
- apr_status_t stat = apr_file_write(
- m_priv->fileptr, data + pos, &nbytes);
-
- if (stat != APR_SUCCESS)
- {
- throw IOException(stat);
- }
-
- pos += nbytes;
- buf.position(pos);
- nbytes = buf.remaining();
- }
+ m_priv->file_out.write(data, nbytes);
}
-apr_file_t* FileOutputStream::getFilePtr() const{
- return m_priv->fileptr;
+std::ofstream* FileOutputStream::getFilePtr() const{
+ return &m_priv->file_out;
}
diff --git a/src/main/cpp/filerenameaction.cpp b/src/main/cpp/filerenameaction.cpp
index c0d2d3e6..9973b74f 100644
--- a/src/main/cpp/filerenameaction.cpp
+++ b/src/main/cpp/filerenameaction.cpp
@@ -46,7 +46,7 @@ FileRenameAction::FileRenameAction(const File& toRename,
{
}
-bool FileRenameAction::execute(LOG4CXX_NS::helpers::Pool& pool1) const
+bool FileRenameAction::execute() const
{
- return priv->source.renameTo(priv->destination, pool1);
+ return priv->source.renameTo(priv->destination);
}
diff --git a/src/main/cpp/filewatchdog.cpp b/src/main/cpp/filewatchdog.cpp
index 80d3a3a3..62ecb058 100644
--- a/src/main/cpp/filewatchdog.cpp
+++ b/src/main/cpp/filewatchdog.cpp
@@ -34,7 +34,7 @@ long FileWatchdog::DEFAULT_DELAY = 60000;
struct FileWatchdog::FileWatchdogPrivate{
FileWatchdogPrivate(const File& file1) :
- file(file1), delay(DEFAULT_DELAY), lastModif(0),
+ file(file1), delay(DEFAULT_DELAY),
warnedAlready(false),
taskName{ LOG4CXX_STR("WatchDog_") + file1.getName() }
{ }
@@ -49,7 +49,7 @@ struct FileWatchdog::FileWatchdogPrivate{
The delay to observe between every check.
By default set DEFAULT_DELAY.*/
long delay;
- log4cxx_time_t lastModif;
+ std::chrono::time_point<std::chrono::system_clock> lastModif;
bool warnedAlready;
LogString taskName;
ThreadUtility::ManagerWeakPtr taskManager;
@@ -101,10 +101,9 @@ void FileWatchdog::checkAndConfigure()
msg += m_priv->file.getPath();
msg += LOG4CXX_STR("]");
LogLog::debug(msg);
- }
- Pool pool1;
+ }
- if (!m_priv->file.exists(pool1))
+ if (!m_priv->file.exists())
{
if (!m_priv->warnedAlready)
{
@@ -116,7 +115,7 @@ void FileWatchdog::checkAndConfigure()
}
else
{
- auto thisMod = m_priv->file.lastModified(pool1);
+ auto thisMod = m_priv->file.lastModified();
if (thisMod > m_priv->lastModif)
{
@@ -134,12 +133,11 @@ void FileWatchdog::start()
if (!taskManager->value().hasPeriodicTask(m_priv->taskName))
{
if (LogLog::isDebugEnabled())
- {
- Pool p;
+ {
LogString msg(LOG4CXX_STR("Checking ["));
msg += m_priv->file.getPath();
msg += LOG4CXX_STR("] at ");
- StringHelper::toString((int)m_priv->delay, p, msg);
+ StringHelper::toString((int)m_priv->delay, msg);
msg += LOG4CXX_STR(" ms interval");
LogLog::debug(msg);
}
diff --git a/src/main/cpp/filter.cpp b/src/main/cpp/filter.cpp
index c0d8fb2b..2ffce973 100644
--- a/src/main/cpp/filter.cpp
+++ b/src/main/cpp/filter.cpp
@@ -45,7 +45,7 @@ void Filter::setNext(const FilterPtr& newNext)
m_priv->next = newNext;
}
-void Filter::activateOptions(Pool&)
+void Filter::activateOptions()
{
}
diff --git a/src/main/cpp/filterbasedtriggeringpolicy.cpp b/src/main/cpp/filterbasedtriggeringpolicy.cpp
index ca7131cd..af4cf6ee 100644
--- a/src/main/cpp/filterbasedtriggeringpolicy.cpp
+++ b/src/main/cpp/filterbasedtriggeringpolicy.cpp
@@ -111,11 +111,11 @@ LOG4CXX_NS::spi::FilterPtr& FilterBasedTriggeringPolicy::getFilter()
/**
* Prepares the instance for use.
*/
-void FilterBasedTriggeringPolicy::activateOptions(LOG4CXX_NS::helpers::Pool& p)
+void FilterBasedTriggeringPolicy::activateOptions()
{
for (LOG4CXX_NS::spi::FilterPtr f = m_priv->headFilter; f != NULL; f = f->getNext())
{
- f->activateOptions(p);
+ f->activateOptions();
}
}
diff --git a/src/main/cpp/fixedwindowrollingpolicy.cpp b/src/main/cpp/fixedwindowrollingpolicy.cpp
index 78b5c7a7..b8bbf3d8 100644
--- a/src/main/cpp/fixedwindowrollingpolicy.cpp
+++ b/src/main/cpp/fixedwindowrollingpolicy.cpp
@@ -99,9 +99,9 @@ void FixedWindowRollingPolicy::setOption(const LogString& option,
/**
* {@inheritDoc}
*/
-void FixedWindowRollingPolicy::activateOptions(Pool& p)
+void FixedWindowRollingPolicy::activateOptions()
{
- RollingPolicyBase::activateOptions(p);
+ RollingPolicyBase::activateOptions();
if (priv->maxIndex < priv->minIndex)
{
@@ -129,8 +129,7 @@ void FixedWindowRollingPolicy::activateOptions(Pool& p)
*/
RolloverDescriptionPtr FixedWindowRollingPolicy::initialize(
const LogString& currentActiveFile,
- const bool append,
- Pool& pool)
+ const bool append)
{
LogString newActiveFile(currentActiveFile);
priv->explicitActiveFile = false;
@@ -145,7 +144,7 @@ RolloverDescriptionPtr FixedWindowRollingPolicy::initialize(
{
LogString buf;
ObjectPtr obj = std::make_shared<Integer>(priv->minIndex);
- formatFileName(obj, buf, pool);
+ formatFileName(obj, buf);
newActiveFile = buf;
}
@@ -159,8 +158,7 @@ RolloverDescriptionPtr FixedWindowRollingPolicy::initialize(
*/
RolloverDescriptionPtr FixedWindowRollingPolicy::rollover(
const LogString& currentActiveFile,
- const bool append,
- Pool& pool)
+ const bool append)
{
RolloverDescriptionPtr desc;
@@ -176,14 +174,14 @@ RolloverDescriptionPtr FixedWindowRollingPolicy::rollover(
purgeStart++;
}
- if (!purge(purgeStart, priv->maxIndex, pool))
+ if (!purge(purgeStart, priv->maxIndex))
{
return desc;
}
LogString buf;
ObjectPtr obj = std::make_shared<Integer>(purgeStart);
- formatFileName(obj, buf, pool);
+ formatFileName(obj, buf);
LogString renameTo(buf);
LogString compressedName(renameTo);
@@ -191,8 +189,8 @@ RolloverDescriptionPtr FixedWindowRollingPolicy::rollover(
if(getCreateIntermediateDirectories()){
File compressedFile(compressedName);
- File compressedParent (compressedFile.getParent(pool));
- compressedParent.mkdirs(pool);
+ File compressedParent (compressedFile.getParent());
+ compressedParent.mkdirs();
}
if (StringHelper::endsWith(renameTo, LOG4CXX_STR(".gz")))
@@ -254,7 +252,7 @@ int FixedWindowRollingPolicy::getMinIndex() const
* index will be deleted if needed.
* @return true if purge was successful and rollover should be attempted.
*/
-bool FixedWindowRollingPolicy::purge(int lowIndex, int highIndex, Pool& p) const
+bool FixedWindowRollingPolicy::purge(int lowIndex, int highIndex) const
{
int suffixLength = 0;
@@ -282,21 +280,21 @@ bool FixedWindowRollingPolicy::purge(int lowIndex, int highIndex, Pool& p) const
toRenameBase.setPath(lowFilename.substr(0, lowFilename.length() - suffixLength));
File* toRename = &toRenameCompressed;
bool isBase = false;
- bool exists = toRenameCompressed.exists(p);
+ bool exists = toRenameCompressed.exists();
if (suffixLength > 0)
{
if (exists)
{
- if (toRenameBase.exists(p))
+ if (toRenameBase.exists())
{
- toRenameBase.deleteFile(p);
+ toRenameBase.deleteFile();
}
}
else
{
toRename = &toRenameBase;
- exists = toRenameBase.exists(p);
+ exists = toRenameBase.exists();
isBase = true;
}
}
@@ -309,7 +307,7 @@ bool FixedWindowRollingPolicy::purge(int lowIndex, int highIndex, Pool& p) const
// if that fails then abandon purge
if (i == highIndex)
{
- if (!toRename->deleteFile(p))
+ if (!toRename->deleteFile())
{
return false;
}
@@ -352,7 +350,7 @@ bool FixedWindowRollingPolicy::purge(int lowIndex, int highIndex, Pool& p) const
try
{
- if (!(*iter)->execute(p))
+ if (!(*iter)->execute())
{
return false;
}
diff --git a/src/main/cpp/gzcompressaction.cpp b/src/main/cpp/gzcompressaction.cpp
index 8b30690f..a5322bef 100644
--- a/src/main/cpp/gzcompressaction.cpp
+++ b/src/main/cpp/gzcompressaction.cpp
@@ -16,8 +16,6 @@
*/
#include <log4cxx/rolling/gzcompressaction.h>
-#include <apr_thread_proc.h>
-#include <apr_strings.h>
#include <log4cxx/helpers/exception.h>
#include <log4cxx/helpers/transcoder.h>
#include <log4cxx/private/action_priv.h>
@@ -54,115 +52,115 @@ GZCompressAction::GZCompressAction(const File& src,
GZCompressAction::~GZCompressAction() {}
-bool GZCompressAction::execute(LOG4CXX_NS::helpers::Pool& p) const
+bool GZCompressAction::execute() const
{
- if (priv->source.exists(p))
+ if (priv->source.exists())
{
- apr_pool_t* aprpool = p.getAPRPool();
- apr_procattr_t* attr;
- apr_status_t stat = apr_procattr_create(&attr, aprpool);
-
- if (stat != APR_SUCCESS)
- {
- throw IOException(stat);
- }
-
- stat = apr_procattr_io_set(attr, APR_NO_PIPE, APR_FULL_BLOCK, APR_FULL_BLOCK);
-
- if (stat != APR_SUCCESS)
- {
- throw IOException(stat);
- }
-
- stat = apr_procattr_cmdtype_set(attr, APR_PROGRAM_PATH);
-
- if (stat != APR_SUCCESS)
- {
- throw IOException(stat);
- }
-
- //
- // set child process output to destination file
- //
- apr_file_t* child_out;
- apr_int32_t flags = APR_FOPEN_READ | APR_FOPEN_WRITE |
- APR_FOPEN_CREATE | APR_FOPEN_TRUNCATE;
- stat = priv->destination.open(&child_out, flags, APR_OS_DEFAULT, p);
-
- if (stat != APR_SUCCESS)
- {
- throw IOException(priv->destination.getName(), stat);
- }
-
- stat = apr_procattr_child_out_set(attr, child_out, NULL);
-
- if (stat != APR_SUCCESS)
- {
- throw IOException(stat);
- }
-
- //
- // redirect the child's error stream to this processes' error stream
- //
- apr_file_t* child_err;
- stat = apr_file_open_stderr(&child_err, aprpool);
-
- if (stat == APR_SUCCESS)
- {
- stat = apr_procattr_child_err_set(attr, child_err, NULL);
-
- if (stat != APR_SUCCESS)
- {
- throw IOException(stat);
- }
- }
-
- priv->destination.setAutoDelete(true);
-
- const char** args = (const char**)
- apr_palloc(aprpool, 4 * sizeof(*args));
- int i = 0;
- args[i++] = "gzip";
- args[i++] = "-c";
- args[i++] = Transcoder::encode(priv->source.getPath(), p);
- args[i++] = NULL;
-
- apr_proc_t pid;
- stat = apr_proc_create(&pid, "gzip", args, NULL, attr, aprpool);
-
- if (stat != APR_SUCCESS)
- {
- LogLog::warn(LOG4CXX_STR("Failed to fork gzip during log rotation; leaving log file uncompressed"));
- if (priv->throwIOExceptionOnForkFailure)
- throw IOException(LOG4CXX_STR("gzip"), stat);
- /* If we fail here (to create the gzip child process),
- * skip the compression and consider the rotation to be
- * otherwise successful. The caller has already rotated
- * the log file (`source` here refers to the
- * uncompressed, rotated path, and `destination` the
- * same path with `.gz` appended). Remove the empty
- * destination file and leave source as-is.
- */
- stat = apr_file_close(child_out);
- return true;
- }
-
- apr_proc_wait(&pid, NULL, NULL, APR_WAIT);
- stat = apr_file_close(child_out);
-
- if (stat != APR_SUCCESS)
- {
- throw IOException(stat);
- }
-
- priv->destination.setAutoDelete(false);
-
- if (priv->deleteSource)
- {
- priv->source.deleteFile(p);
- }
-
- return true;
+// apr_pool_t* aprpool = p.getAPRPool();
+// apr_procattr_t* attr;
+// apr_status_t stat = apr_procattr_create(&attr, aprpool);
+
+// if (stat != APR_SUCCESS)
+// {
+// throw IOException(stat);
+// }
+
+// stat = apr_procattr_io_set(attr, APR_NO_PIPE, APR_FULL_BLOCK, APR_FULL_BLOCK);
+
+// if (stat != APR_SUCCESS)
+// {
+// throw IOException(stat);
+// }
+
+// stat = apr_procattr_cmdtype_set(attr, APR_PROGRAM_PATH);
+
+// if (stat != APR_SUCCESS)
+// {
+// throw IOException(stat);
+// }
+
+// //
+// // set child process output to destination file
+// //
+// apr_file_t* child_out;
+// apr_int32_t flags = APR_FOPEN_READ | APR_FOPEN_WRITE |
+// APR_FOPEN_CREATE | APR_FOPEN_TRUNCATE;
+// stat = priv->destination.open(&child_out, flags, APR_OS_DEFAULT, p);
+
+// if (stat != APR_SUCCESS)
+// {
+// throw IOException(priv->destination.getName(), stat);
+// }
+
+// stat = apr_procattr_child_out_set(attr, child_out, NULL);
+
+// if (stat != APR_SUCCESS)
+// {
+// throw IOException(stat);
+// }
+
+// //
+// // redirect the child's error stream to this processes' error stream
+// //
+// apr_file_t* child_err;
+// stat = apr_file_open_stderr(&child_err, aprpool);
+
+// if (stat == APR_SUCCESS)
+// {
+// stat = apr_procattr_child_err_set(attr, child_err, NULL);
+
+// if (stat != APR_SUCCESS)
+// {
+// throw IOException(stat);
+// }
+// }
+
+// priv->destination.setAutoDelete(true);
+
+// const char** args = (const char**)
+// apr_palloc(aprpool, 4 * sizeof(*args));
+// int i = 0;
+// args[i++] = "gzip";
+// args[i++] = "-c";
+// args[i++] = Transcoder::encode(priv->source.getPath(), p);
+// args[i++] = NULL;
+
+// apr_proc_t pid;
+// stat = apr_proc_create(&pid, "gzip", args, NULL, attr, aprpool);
+
+// if (stat != APR_SUCCESS)
+// {
+// LogLog::warn(LOG4CXX_STR("Failed to fork gzip during log rotation; leaving log file uncompressed"));
+// if (priv->throwIOExceptionOnForkFailure)
+// throw IOException(LOG4CXX_STR("gzip"), stat);
+// /* If we fail here (to create the gzip child process),
+// * skip the compression and consider the rotation to be
+// * otherwise successful. The caller has already rotated
+// * the log file (`source` here refers to the
+// * uncompressed, rotated path, and `destination` the
+// * same path with `.gz` appended). Remove the empty
+// * destination file and leave source as-is.
+// */
+// stat = apr_file_close(child_out);
+// return true;
+// }
+
+// apr_proc_wait(&pid, NULL, NULL, APR_WAIT);
+// stat = apr_file_close(child_out);
+
+// if (stat != APR_SUCCESS)
+// {
+// throw IOException(stat);
+// }
+
+// priv->destination.setAutoDelete(false);
+
+// if (priv->deleteSource)
+// {
+// priv->source.deleteFile();
+// }
+
+// return true;
}
return false;
diff --git a/src/main/cpp/inputstreamreader.cpp b/src/main/cpp/inputstreamreader.cpp
index e300202a..54b12d26 100644
--- a/src/main/cpp/inputstreamreader.cpp
+++ b/src/main/cpp/inputstreamreader.cpp
@@ -67,12 +67,12 @@ InputStreamReader::~InputStreamReader()
{
}
-void InputStreamReader::close(Pool& )
+void InputStreamReader::close()
{
m_priv->in->close();
}
-LogString InputStreamReader::read(Pool& p)
+LogString InputStreamReader::read()
{
const size_t BUFSIZE = 4096;
ByteBuffer buf(p.pstralloc(BUFSIZE), BUFSIZE);
diff --git a/src/main/cpp/integerpatternconverter.cpp b/src/main/cpp/integerpatternconverter.cpp
index 3e8d3c58..1960ae31 100644
--- a/src/main/cpp/integerpatternconverter.cpp
+++ b/src/main/cpp/integerpatternconverter.cpp
@@ -41,13 +41,12 @@ PatternConverterPtr IntegerPatternConverter::newInstance(
void IntegerPatternConverter::format(
const ObjectPtr& obj,
- LogString& toAppendTo,
- Pool& p) const
+ LogString& toAppendTo) const
{
IntegerPtr i = LOG4CXX_NS::cast<Integer>(obj);
if (i != NULL)
{
- StringHelper::toString(i->intValue(), p, toAppendTo);
+ StringHelper::toString(i->intValue(), toAppendTo);
}
}
diff --git a/src/main/cpp/manualtriggeringpolicy.cpp b/src/main/cpp/manualtriggeringpolicy.cpp
index eeb9ef1e..2234c129 100644
--- a/src/main/cpp/manualtriggeringpolicy.cpp
+++ b/src/main/cpp/manualtriggeringpolicy.cpp
@@ -37,7 +37,7 @@ bool ManualTriggeringPolicy::isTriggeringEvent(Appender* /* appender */,
return false;
}
-void ManualTriggeringPolicy::activateOptions(Pool& /* p */ )
+void ManualTriggeringPolicy::activateOptions( )
{
}
diff --git a/src/main/cpp/odbcappender.cpp b/src/main/cpp/odbcappender.cpp
index 24a2c528..6ba87302 100644
--- a/src/main/cpp/odbcappender.cpp
+++ b/src/main/cpp/odbcappender.cpp
@@ -66,8 +66,7 @@ using namespace LOG4CXX_NS::spi;
using namespace LOG4CXX_NS::pattern;
SQLException::SQLException(short fHandleType,
- void* hInput, const char* prolog,
- LOG4CXX_NS::helpers::Pool& p)
+ void* hInput, const char* prolog)
: Exception(formatMessage(fHandleType, hInput, prolog, p))
{
}
@@ -84,7 +83,7 @@ SQLException::SQLException(const SQLException& src)
}
const char* SQLException::formatMessage(short fHandleType,
- void* hInput, const char* prolog, LOG4CXX_NS::helpers::Pool& p)
+ void* hInput, const char* prolog)
{
std::string strReturn(prolog);
strReturn.append(" - ");
@@ -110,7 +109,8 @@ const char* SQLException::formatMessage(short fHandleType,
strReturn.append("log4cxx built without ODBC support");
#endif
- return apr_pstrdup((apr_pool_t*) p.getAPRPool(), strReturn.c_str());
+// return apr_pstrdup((apr_pool_t*) p.getAPRPool(), strReturn.c_str());
+ return nullptr;
}
@@ -212,7 +212,7 @@ bool ODBCAppender::requiresLayout() const
return false;
}
-void ODBCAppender::activateOptions(LOG4CXX_NS::helpers::Pool&)
+void ODBCAppender::activateOptions()
{
#if !LOG4CXX_HAVE_ODBC
LogLog::error(LOG4CXX_STR("Can not activate ODBCAppender unless compiled with ODBC support."));
@@ -254,7 +254,7 @@ void ODBCAppender::activateOptions(LOG4CXX_NS::helpers::Pool&)
}
-void ODBCAppender::append(const spi::LoggingEventPtr& event, LOG4CXX_NS::helpers::Pool& p)
+void ODBCAppender::append(const spi::LoggingEventPtr& event)
{
#if LOG4CXX_HAVE_ODBC
_priv->buffer.push_back(event);
@@ -268,12 +268,12 @@ void ODBCAppender::append(const spi::LoggingEventPtr& event, LOG4CXX_NS::helpers
}
#if LOG4CXX_ABI_VERSION <= 15
-LogString ODBCAppender::getLogStatement(const spi::LoggingEventPtr& event, LOG4CXX_NS::helpers::Pool& p) const
+LogString ODBCAppender::getLogStatement(const spi::LoggingEventPtr& event) const
{
return LogString();
}
-void ODBCAppender::execute(const LogString& sql, LOG4CXX_NS::helpers::Pool& p)
+void ODBCAppender::execute(const LogString& sql)
{
}
#endif
diff --git a/src/main/cpp/onlyonceerrorhandler.cpp b/src/main/cpp/onlyonceerrorhandler.cpp
index ebc07abd..96da60c7 100644
--- a/src/main/cpp/onlyonceerrorhandler.cpp
+++ b/src/main/cpp/onlyonceerrorhandler.cpp
@@ -41,7 +41,7 @@ void OnlyOnceErrorHandler::setLogger(const LoggerPtr&)
{
}
-void OnlyOnceErrorHandler::activateOptions(Pool&)
+void OnlyOnceErrorHandler::activateOptions()
{
}
diff --git a/src/main/cpp/outputstreamwriter.cpp b/src/main/cpp/outputstreamwriter.cpp
index 659a6c8b..945eb82e 100644
--- a/src/main/cpp/outputstreamwriter.cpp
+++ b/src/main/cpp/outputstreamwriter.cpp
@@ -71,24 +71,24 @@ OutputStreamWriter::~OutputStreamWriter()
{
}
-void OutputStreamWriter::close(Pool& p)
+void OutputStreamWriter::close()
{
- m_priv->out->close(p);
+ m_priv->out->close();
}
-void OutputStreamWriter::flush(Pool& p)
+void OutputStreamWriter::flush()
{
- m_priv->out->flush(p);
+ m_priv->out->flush();
}
-void OutputStreamWriter::write(const LogString& str, Pool& p)
+void OutputStreamWriter::write(const LogString& str)
{
if (str.empty())
return;
if (CharsetEncoder::isTriviallyCopyable(str, m_priv->enc))
{
ByteBuffer buf((char*)str.data(), str.size() * sizeof (logchar));
- m_priv->out->write(buf, p);
+ m_priv->out->write(buf);
}
else
{
@@ -113,14 +113,14 @@ void OutputStreamWriter::write(const LogString& str, Pool& p)
{
CharsetEncoder::encode(m_priv->enc, str, iter, buf);
buf.flip();
- m_priv->out->write(buf, p);
+ m_priv->out->write(buf);
buf.clear();
}
CharsetEncoder::encode(m_priv->enc, str, iter, buf);
m_priv->enc->flush(buf);
buf.flip();
- m_priv->out->write(buf, p);
+ m_priv->out->write(buf);
}
}
diff --git a/src/main/cpp/patternlayout.cpp b/src/main/cpp/patternlayout.cpp
index 68d43c5e..f9a0f191 100644
--- a/src/main/cpp/patternlayout.cpp
+++ b/src/main/cpp/patternlayout.cpp
@@ -105,22 +105,19 @@ Constructs a PatternLayout using the supplied conversion pattern.
PatternLayout::PatternLayout(const LogString& pattern) :
m_priv(std::make_unique<PatternLayoutPrivate>(pattern))
{
- Pool pool;
- activateOptions(pool);
+ activateOptions();
}
PatternLayout::~PatternLayout() {}
void PatternLayout::setConversionPattern(const LogString& pattern)
{
- m_priv->conversionPattern = pattern;
- Pool pool;
- activateOptions(pool);
+ m_priv->conversionPattern = pattern;
+ activateOptions();
}
void PatternLayout::format(LogString& output,
- const spi::LoggingEventPtr& event,
- Pool& pool) const
+ const spi::LoggingEventPtr& event) const
{
auto& lsMsg = event->getRenderedMessage();
output.reserve(m_priv->expectedPatternLength + lsMsg.size());
@@ -133,7 +130,7 @@ void PatternLayout::format(LogString& output,
converterIter++, formatterIter++)
{
int startField = (int)output.length();
- (*converterIter)->format(event, output, pool);
+ (*converterIter)->format(event, output);
(*formatterIter)->format(startField, output);
}
@@ -179,7 +176,7 @@ void PatternLayout::setOption(const LogString& option, const LogString& value)
}
}
-void PatternLayout::activateOptions(Pool&)
+void PatternLayout::activateOptions()
{
LogString pat(m_priv->conversionPattern);
diff --git a/src/main/cpp/rollingpolicybase.cpp b/src/main/cpp/rollingpolicybase.cpp
index e6630412..9d71be1f 100644
--- a/src/main/cpp/rollingpolicybase.cpp
+++ b/src/main/cpp/rollingpolicybase.cpp
@@ -47,7 +47,7 @@ RollingPolicyBase::~RollingPolicyBase()
{
}
-void RollingPolicyBase::activateOptions(LOG4CXX_NS::helpers::Pool& /* pool */)
+void RollingPolicyBase::activateOptions()
{
if (m_priv->fileNamePatternStr.length() > 0)
{
@@ -111,8 +111,7 @@ void RollingPolicyBase::parseFileNamePattern()
*/
void RollingPolicyBase::formatFileName(
const ObjectPtr& obj,
- LogString& toAppendTo,
- Pool& pool) const
+ LogString& toAppendTo) const
{
std::vector<FormattingInfoPtr>::const_iterator formatterIter =
m_priv->patternFields.begin();
@@ -123,7 +122,7 @@ void RollingPolicyBase::formatFileName(
converterIter++, formatterIter++)
{
auto startField = toAppendTo.length();
- (*converterIter)->format(obj, toAppendTo, pool);
+ (*converterIter)->format(obj, toAppendTo);
(*formatterIter)->format((int)startField, toAppendTo);
}
}
diff --git a/src/main/cpp/simpledateformat.cpp b/src/main/cpp/simpledateformat.cpp
index 15017752..77698842 100644
--- a/src/main/cpp/simpledateformat.cpp
+++ b/src/main/cpp/simpledateformat.cpp
@@ -17,8 +17,6 @@
#include <log4cxx/logstring.h>
#include <log4cxx/helpers/simpledateformat.h>
-#include <apr_time.h>
-#include <apr_strings.h>
#include <sstream>
#include <log4cxx/helpers/transcoder.h>
#include <log4cxx/helpers/stringhelper.h>
@@ -87,12 +85,10 @@ class PatternToken
/**
* Appends the formatted content to the string.
* @param s string to which format contribution is appended.
- * @param date exploded date/time.
- * @param p memory pool.
+ * @param date exploded date/time.
*/
virtual void format(LogString& s,
- const apr_time_exp_t& date,
- LOG4CXX_NS::helpers::Pool& p) const = 0;
+ const apr_time_exp_t& date) const = 0;
protected:
@@ -206,7 +202,7 @@ class LiteralToken : public PatternToken
{
}
- void format( LogString& s, const apr_time_exp_t&, Pool& /* p */ ) const
+ void format( LogString& s, const apr_time_exp_t&) const
{
s.append( count, ch );
}
@@ -225,7 +221,7 @@ class EraToken : public PatternToken
{
}
- void format(LogString& s, const apr_time_exp_t& /* tm */, Pool& /* p */ ) const
+ void format(LogString& s, const apr_time_exp_t& /* tm */) const
{
s.append(1, (logchar) 0x41 /* 'A' */);
s.append(1, (logchar) 0x44 /* 'D' */);
@@ -243,11 +239,11 @@ class NumericToken : public PatternToken
virtual int getField( const apr_time_exp_t& tm ) const = 0;
- void format( LogString& s, const apr_time_exp_t& tm, Pool& p ) const
+ void format( LogString& s, const apr_time_exp_t& tm ) const
{
size_t initialLength = s.length();
- StringHelper::toString( getField( tm ), p, s );
+ StringHelper::toString( getField( tm ), s );
size_t finalLength = s.length();
if ( initialLength + width > finalLength )
@@ -300,7 +296,7 @@ class AbbreviatedMonthNameToken : public PatternToken
renderFacet(locale, PatternToken::incrementMonth, 'b', 0x62, "%b", names);
}
- void format(LogString& s, const apr_time_exp_t& tm, Pool& /* p */ ) const
+ void format(LogString& s, const apr_time_exp_t& tm) const
{
s.append( names[tm.tm_mon] );
}
@@ -319,7 +315,7 @@ class FullMonthNameToken : public PatternToken
renderFacet(locale, PatternToken::incrementMonth, 'B', 0x42, "%B", names);
}
- void format( LogString& s, const apr_time_exp_t& tm, Pool& /* p */ ) const
+ void format( LogString& s, const apr_time_exp_t& tm) const
{
s.append( names[tm.tm_mon] );
}
@@ -413,7 +409,7 @@ class AbbreviatedDayNameToken : public PatternToken
renderFacet(locale, PatternToken::incrementDay, 'a', 0x61, "%a", names);
}
- void format( LogString& s, const apr_time_exp_t& tm, Pool& /* p */ ) const
+ void format( LogString& s, const apr_time_exp_t& tm ) const
{
s.append( names[tm.tm_wday] );
}
@@ -433,7 +429,7 @@ class FullDayNameToken : public PatternToken
renderFacet(locale, PatternToken::incrementDay, 'A', 0x41, "%A", names);
}
- void format( LogString& s, const apr_time_exp_t& tm, Pool& /* p */ ) const
+ void format( LogString& s, const apr_time_exp_t& tm) const
{
s.append( names[tm.tm_wday] );
}
@@ -549,7 +545,7 @@ class AMPMToken : public PatternToken
renderFacet(locale, PatternToken::incrementHalfDay, 'p', 0x70, "%p", names);
}
- void format( LogString& s, const apr_time_exp_t& tm, Pool& /* p */ ) const
+ void format( LogString& s, const apr_time_exp_t& tm) const
{
s.append( names[tm.tm_hour / 12] );
}
@@ -567,7 +563,7 @@ class GeneralTimeZoneToken : public PatternToken
{
}
- void format( LogString& s, const apr_time_exp_t&, Pool& /* p */ ) const
+ void format( LogString& s, const apr_time_exp_t&) const
{
s.append(timeZone->getID());
}
@@ -590,7 +586,7 @@ class RFC822TimeZoneToken : public PatternToken
{
}
- void format( LogString& s, const apr_time_exp_t& tm, Pool& p ) const
+ void format( LogString& s, const apr_time_exp_t& tm) const
{
if ( tm.tm_gmtoff == 0 )
{
@@ -610,14 +606,14 @@ class RFC822TimeZoneToken : public PatternToken
}
LogString hours;
- StringHelper::toString( off / 3600, p, hours );
+ StringHelper::toString( off / 3600, hours );
if( hours.size() == 1 ){
s.push_back( '0' );
}
s.append(hours);
LogString min;
- StringHelper::toString( ( off % 3600 ) / 60, p, min );
+ StringHelper::toString( ( off % 3600 ) / 60, min );
if( min.size() == 1 ){
s.push_back( '0' );
}
@@ -838,7 +834,7 @@ SimpleDateFormat::~SimpleDateFormat()
}
-void SimpleDateFormat::format( LogString& s, log4cxx_time_t time, Pool& p ) const
+void SimpleDateFormat::format( LogString& s, log4cxx_time_t time ) const
{
apr_time_exp_t exploded;
apr_status_t stat = m_priv->timeZone->explode( & exploded, time );
@@ -847,7 +843,7 @@ void SimpleDateFormat::format( LogString& s, log4cxx_time_t time, Pool& p ) cons
{
for ( PatternTokenList::const_iterator iter = m_priv->pattern.begin(); iter != m_priv->pattern.end(); iter++ )
{
- ( * iter )->format( s, exploded, p );
+ ( * iter )->format( s, exploded );
}
}
}
diff --git a/src/main/cpp/sizebasedtriggeringpolicy.cpp b/src/main/cpp/sizebasedtriggeringpolicy.cpp
index 64788fa7..099c3796 100644
--- a/src/main/cpp/sizebasedtriggeringpolicy.cpp
+++ b/src/main/cpp/sizebasedtriggeringpolicy.cpp
@@ -48,7 +48,7 @@ void SizeBasedTriggeringPolicy::setMaxFileSize(size_t l)
maxFileSize = l;
}
-void SizeBasedTriggeringPolicy::activateOptions(Pool& /* p */)
+void SizeBasedTriggeringPolicy::activateOptions()
{
}
diff --git a/src/main/cpp/smtpappender.cpp b/src/main/cpp/smtpappender.cpp
index 752d25db..22020549 100644
--- a/src/main/cpp/smtpappender.cpp
+++ b/src/main/cpp/smtpappender.cpp
@@ -586,7 +586,7 @@ bool SMTPAppender::asciiCheck(const LogString& value, const LogString& field)
/**
Activate the specified options, such as the smtp host, the
recipient, from, etc. */
-void SMTPAppender::activateOptions(Pool& p)
+void SMTPAppender::activateOptions()
{
bool activate = true;
@@ -629,7 +629,7 @@ void SMTPAppender::activateOptions(Pool& p)
if (activate)
{
- AppenderSkeleton::activateOptions(p);
+ AppenderSkeleton::activateOptions();
}
}
@@ -637,7 +637,7 @@ void SMTPAppender::activateOptions(Pool& p)
Perform SMTPAppender specific appending actions, mainly adding
the event to a cyclic buffer and checking if the event triggers
an e-mail to be sent. */
-void SMTPAppender::append(const spi::LoggingEventPtr& event, Pool& p)
+void SMTPAppender::append(const spi::LoggingEventPtr& event)
{
if (!checkEntryConditions())
{
@@ -651,7 +651,7 @@ void SMTPAppender::append(const spi::LoggingEventPtr& event, Pool& p)
if (_priv->evaluator->isTriggeringEvent(event))
{
- sendBuffer(p);
+ sendBuffer();
}
}
@@ -730,7 +730,7 @@ void SMTPAppender::setBcc(const LogString& addressStr)
/**
Send the contents of the cyclic buffer as an e-mail message.
*/
-void SMTPAppender::sendBuffer(Pool& p)
+void SMTPAppender::sendBuffer()
{
#if LOG4CXX_HAVE_LIBESMTP
diff --git a/src/main/cpp/socketappenderskeleton.cpp b/src/main/cpp/socketappenderskeleton.cpp
index a0bdecfa..c664a744 100644
--- a/src/main/cpp/socketappenderskeleton.cpp
+++ b/src/main/cpp/socketappenderskeleton.cpp
@@ -61,19 +61,19 @@ SocketAppenderSkeleton::~SocketAppenderSkeleton()
finalize();
}
-void SocketAppenderSkeleton::activateOptions(Pool& p)
+void SocketAppenderSkeleton::activateOptions()
{
- AppenderSkeleton::activateOptions(p);
+ AppenderSkeleton::activateOptions();
connect(p);
}
void SocketAppenderSkeleton::close()
{
_priv->stopMonitor();
- cleanUp(_priv->pool);
+ cleanUp();
}
-void SocketAppenderSkeleton::connect(Pool& p)
+void SocketAppenderSkeleton::connect()
{
if (_priv->address == 0)
{
@@ -90,7 +90,7 @@ void SocketAppenderSkeleton::connect(Pool& p)
{
LogString msg(LOG4CXX_STR("Connecting to [")
+ _priv->address->toString() + LOG4CXX_STR(":"));
- StringHelper::toString(_priv->port, p, msg);
+ StringHelper::toString(_priv->port, msg);
msg += LOG4CXX_STR("].");
LogLog::debug(msg);
}
@@ -139,23 +139,20 @@ void SocketAppenderSkeleton::fireConnector()
std::lock_guard<std::recursive_mutex> lock(_priv->mutex);
if (_priv->taskName.empty())
{
- Pool p;
_priv->taskName = _priv->name + LOG4CXX_STR(":")
+ _priv->address->toString() + LOG4CXX_STR(":");
- StringHelper::toString(_priv->port, p, _priv->taskName);
+ StringHelper::toString(_priv->port, _priv->taskName);
}
auto taskManager = ThreadUtility::instancePtr();
if (!taskManager->value().hasPeriodicTask(_priv->taskName))
{
- Pool p;
if (LogLog::isDebugEnabled())
{
- Pool p;
LogString msg(LOG4CXX_STR("Waiting "));
- StringHelper::toString(_priv->reconnectionDelay, p, msg);
+ StringHelper::toString(_priv->reconnectionDelay, msg);
msg += LOG4CXX_STR(" ms before retrying [")
+ _priv->address->toString() + LOG4CXX_STR(":");
- StringHelper::toString(_priv->port, p, msg);
+ StringHelper::toString(_priv->port, msg);
msg += LOG4CXX_STR("].");
LogLog::debug(msg);
}
@@ -175,8 +172,7 @@ void SocketAppenderSkeleton::retryConnect()
pManager->value().removePeriodicTask(_priv->taskName);
}
else
- {
- Pool p;
+ {
SocketPtr socket;
try
{
@@ -184,17 +180,17 @@ void SocketAppenderSkeleton::retryConnect()
{
LogString msg(LOG4CXX_STR("Attempting connection to [")
+ _priv->address->toString() + LOG4CXX_STR(":"));
- StringHelper::toString(_priv->port, p, msg);
+ StringHelper::toString(_priv->port, msg);
msg += LOG4CXX_STR("].");
LogLog::debug(msg);
}
socket = Socket::create(_priv->address, _priv->port);
- setSocket(socket, p);
+ setSocket(socket);
if (LogLog::isDebugEnabled())
{
LogString msg(LOG4CXX_STR("Connection established to [")
+ _priv->address->toString() + LOG4CXX_STR(":"));
- StringHelper::toString(_priv->port, p, msg);
+ StringHelper::toString(_priv->port, msg);
msg += LOG4CXX_STR("].");
LogLog::debug(msg);
}
@@ -212,7 +208,7 @@ void SocketAppenderSkeleton::retryConnect()
{
LogString msg(LOG4CXX_STR("Could not connect to [")
+ _priv->address->toString() + LOG4CXX_STR(":"));
- StringHelper::toString(_priv->port, p, msg);
+ StringHelper::toString(_priv->port, msg);
msg += LOG4CXX_STR("].");
LogLog::warn(msg, e);
}
@@ -222,10 +218,10 @@ void SocketAppenderSkeleton::retryConnect()
if (LogLog::isDebugEnabled())
{
LogString msg(LOG4CXX_STR("Waiting "));
- StringHelper::toString(_priv->reconnectionDelay, p, msg);
+ StringHelper::toString(_priv->reconnectionDelay, msg);
msg += LOG4CXX_STR(" ms before retrying [")
+ _priv->address->toString() + LOG4CXX_STR(":");
- StringHelper::toString(_priv->port, p, msg);
+ StringHelper::toString(_priv->port, msg);
msg += LOG4CXX_STR("].");
LogLog::debug(msg);
}
diff --git a/src/main/cpp/stringhelper.cpp b/src/main/cpp/stringhelper.cpp
index 17321e03..0fd6f45b 100644
--- a/src/main/cpp/stringhelper.cpp
+++ b/src/main/cpp/stringhelper.cpp
@@ -151,7 +151,7 @@ void StringHelper::toString(bool val, LogString& dst)
}
-void StringHelper::toString(int64_t n, Pool& pool, LogString& dst)
+void StringHelper::toString(int64_t n, LogString& dst)
{
#if LOG4CXX_LOGCHAR_IS_WCHAR
dst.append(std::to_wstring(n));
@@ -161,7 +161,7 @@ void StringHelper::toString(int64_t n, Pool& pool, LogString& dst)
}
-void StringHelper::toString(size_t n, Pool& pool, LogString& dst)
+void StringHelper::toString(size_t n, LogString& dst)
{
#if LOG4CXX_LOGCHAR_IS_WCHAR
dst.append(std::to_wstring(n));
diff --git a/src/main/cpp/syslogappender.cpp b/src/main/cpp/syslogappender.cpp
index aee1ae80..34220bf1 100644
--- a/src/main/cpp/syslogappender.cpp
+++ b/src/main/cpp/syslogappender.cpp
@@ -82,10 +82,9 @@ void SyslogAppender::initSyslogFacilityStr()
_priv->facilityStr = getFacilityString(_priv->syslogFacility);
if (_priv->facilityStr.empty())
- {
- Pool p;
+ {
LogString msg(LOG4CXX_STR("\""));
- StringHelper::toString(_priv->syslogFacility, p, msg);
+ StringHelper::toString(_priv->syslogFacility, msg);
msg.append(LOG4CXX_STR("\" is an unknown syslog facility. Defaulting to \"USER\"."));
LogLog::warn(msg);
_priv->syslogFacility = LOG_USER;
@@ -271,7 +270,7 @@ int SyslogAppender::getFacility(
}
}
-void SyslogAppender::append(const spi::LoggingEventPtr& event, Pool& p)
+void SyslogAppender::append(const spi::LoggingEventPtr& event)
{
if (!isAsSevereAsThreshold(event->getLevel()))
{
@@ -280,7 +279,7 @@ void SyslogAppender::append(const spi::LoggingEventPtr& event, Pool& p)
LogString msg;
std::string encoded;
- _priv->layout->format(msg, event, p);
+ _priv->layout->format(msg, event);
Transcoder::encode(msg, encoded);
@@ -355,7 +354,7 @@ void SyslogAppender::append(const spi::LoggingEventPtr& event, Pool& p)
for (auto const& item : packets)
{
LogString sbuf(1, 0x3C /* '<' */);
- StringHelper::toString((_priv->syslogFacility | event->getLevel()->getSyslogEquivalent()), p, sbuf);
+ StringHelper::toString((_priv->syslogFacility | event->getLevel()->getSyslogEquivalent()), sbuf);
sbuf.append(1, (logchar) 0x3E /* '>' */);
if (_priv->facilityPrinting)
@@ -368,7 +367,7 @@ void SyslogAppender::append(const spi::LoggingEventPtr& event, Pool& p)
}
}
-void SyslogAppender::activateOptions(Pool&)
+void SyslogAppender::activateOptions()
{
}
diff --git a/src/main/cpp/systemerrwriter.cpp b/src/main/cpp/systemerrwriter.cpp
index 97f0d108..f459e425 100644
--- a/src/main/cpp/systemerrwriter.cpp
+++ b/src/main/cpp/systemerrwriter.cpp
@@ -37,16 +37,16 @@ SystemErrWriter::~SystemErrWriter()
{
}
-void SystemErrWriter::close(Pool& /* p */)
+void SystemErrWriter::close()
{
}
-void SystemErrWriter::flush(Pool& /* p */)
+void SystemErrWriter::flush()
{
flush();
}
-void SystemErrWriter::write(const LogString& str, Pool& /* p */)
+void SystemErrWriter::write(const LogString& str)
{
write(str);
}
diff --git a/src/main/cpp/systemoutwriter.cpp b/src/main/cpp/systemoutwriter.cpp
index d4b40b58..e7f56c51 100644
--- a/src/main/cpp/systemoutwriter.cpp
+++ b/src/main/cpp/systemoutwriter.cpp
@@ -37,18 +37,18 @@ SystemOutWriter::~SystemOutWriter()
{
}
-void SystemOutWriter::close(Pool& /* p */ )
+void SystemOutWriter::close()
{
}
-void SystemOutWriter::flush(Pool& /* p */ )
+void SystemOutWriter::flush()
{
- flush();
+ flush();
}
-void SystemOutWriter::write(const LogString& str, Pool& /* p */ )
+void SystemOutWriter::write(const LogString& str)
{
- write(str);
+ write(str);
}
bool SystemOutWriter::isWide()
@@ -62,7 +62,7 @@ bool SystemOutWriter::isWide()
#endif
}
-void SystemOutWriter::write(const LogString& str)
+void SystemOutWriter::write_raw(const LogString& str)
{
#if LOG4CXX_WCHAR_T_API
@@ -78,7 +78,7 @@ void SystemOutWriter::write(const LogString& str)
fputs(msg.c_str(), stdout);
}
-void SystemOutWriter::flush()
+void SystemOutWriter::flush_raw()
{
fflush(stdout);
}
diff --git a/src/main/cpp/telnetappender.cpp b/src/main/cpp/telnetappender.cpp
index cc3b1439..52eff768 100644
--- a/src/main/cpp/telnetappender.cpp
+++ b/src/main/cpp/telnetappender.cpp
@@ -110,7 +110,7 @@ TelnetAppender::~TelnetAppender()
finalize();
}
-void TelnetAppender::activateOptions(Pool& /* p */)
+void TelnetAppender::activateOptions()
{
if (_priv->serverSocket == NULL)
{
@@ -203,7 +203,7 @@ void TelnetAppender::write(ByteBuffer& buf)
}
}
-void TelnetAppender::writeStatus(const SocketPtr& socket, const LogString& msg, Pool& p)
+void TelnetAppender::writeStatus(const SocketPtr& socket, const LogString& msg)
{
size_t bytesSize = msg.size() * 2;
char* bytes = p.pstralloc(bytesSize);
@@ -220,7 +220,7 @@ void TelnetAppender::writeStatus(const SocketPtr& socket, const LogString& msg,
}
}
-void TelnetAppender::append(const spi::LoggingEventPtr& event, Pool& p)
+void TelnetAppender::append(const spi::LoggingEventPtr& event)
{
size_t count = _priv->activeConnections;
@@ -228,7 +228,7 @@ void TelnetAppender::append(const spi::LoggingEventPtr& event, Pool& p)
{
LogString msg;
if (_priv->layout)
- _priv->layout->format(msg, event, p);
+ _priv->layout->format(msg, event);
else
msg = event->getRenderedMessage();
msg.append(LOG4CXX_STR("\r\n"));
@@ -273,9 +273,8 @@ void TelnetAppender::acceptConnections()
bool done = _priv->closed;
if (done)
- {
- Pool p;
- writeStatus(newClient, LOG4CXX_STR("Log closed.\r\n"), p);
+ {
+ writeStatus(newClient, LOG4CXX_STR("Log closed.\r\n"));
newClient->close();
break;
@@ -284,9 +283,8 @@ void TelnetAppender::acceptConnections()
size_t count = _priv->activeConnections;
if (count >= _priv->connections.size())
- {
- Pool p;
- writeStatus(newClient, LOG4CXX_STR("Too many connections.\r\n"), p);
+ {
+ writeStatus(newClient, LOG4CXX_STR("Too many connections.\r\n"));
newClient->close();
}
else
@@ -307,11 +305,10 @@ void TelnetAppender::acceptConnections()
}
}
- Pool p;
LogString oss(LOG4CXX_STR("TelnetAppender v1.0 ("));
- StringHelper::toString((int) count + 1, p, oss);
+ StringHelper::toString((int) count + 1, oss);
oss += LOG4CXX_STR(" active connections)\r\n\r\n");
- writeStatus(newClient, oss, p);
+ writeStatus(newClient, oss);
}
}
catch (InterruptedIOException&)
diff --git a/src/main/cpp/writerappender.cpp b/src/main/cpp/writerappender.cpp
index 1be53e87..ab7e0aff 100644
--- a/src/main/cpp/writerappender.cpp
+++ b/src/main/cpp/writerappender.cpp
@@ -40,8 +40,7 @@ WriterAppender::WriterAppender() :
WriterAppender::WriterAppender(const LayoutPtr& layout, helpers::WriterPtr& writer)
: AppenderSkeleton (std::make_unique<WriterAppenderPriv>(layout, writer))
{
- Pool p;
- activateOptions(p);
+ activateOptions();
}
WriterAppender::WriterAppender(const LayoutPtr& layout)
@@ -68,7 +67,7 @@ WriterAppender::~WriterAppender()
finalize();
}
-void WriterAppender::activateOptions(Pool& p)
+void WriterAppender::activateOptions()
{
int errors = 0;
@@ -96,7 +95,7 @@ void WriterAppender::activateOptions(Pool& p)
-void WriterAppender::append(const spi::LoggingEventPtr& event, Pool& pool1)
+void WriterAppender::append(const spi::LoggingEventPtr& event)
{
if (!checkEntryConditions())
@@ -104,7 +103,7 @@ void WriterAppender::append(const spi::LoggingEventPtr& event, Pool& pool1)
return;
}
- subAppend(event, pool1);
+ subAppend(event);
}
/**
@@ -172,8 +171,8 @@ void WriterAppender::closeWriter()
// Using the object's pool since this is a one-shot operation
// and pool is likely to be reclaimed soon when appender is destructed.
//
- writeFooter(_priv->pool);
- _priv->writer->close(_priv->pool);
+ writeFooter();
+ _priv->writer->close();
_priv->writer = 0;
}
catch (IOException& e)
@@ -234,10 +233,10 @@ void WriterAppender::setEncoding(const LogString& enc)
_priv->encoding = enc;
}
-void WriterAppender::subAppend(const spi::LoggingEventPtr& event, Pool& p)
+void WriterAppender::subAppend(const spi::LoggingEventPtr& event)
{
LogString msg;
- _priv->layout->format(msg, event, p);
+ _priv->layout->format(msg, event);
if (_priv->writer != NULL)
{
@@ -251,17 +250,17 @@ void WriterAppender::subAppend(const spi::LoggingEventPtr& event, Pool& p)
}
-void WriterAppender::writeFooter(Pool& p)
+void WriterAppender::writeFooter()
{
if (_priv->layout != NULL)
{
LogString foot;
- _priv->layout->appendFooter(foot, p);
- _priv->writer->write(foot, p);
+ _priv->layout->appendFooter(foot);
+ _priv->writer->write(foot);
}
}
-void WriterAppender::writeHeader(Pool& p)
+void WriterAppender::writeHeader()
{
if (_priv->layout != NULL)
{
diff --git a/src/main/cpp/zipcompressaction.cpp b/src/main/cpp/zipcompressaction.cpp
index febb2004..64baba1a 100644
--- a/src/main/cpp/zipcompressaction.cpp
+++ b/src/main/cpp/zipcompressaction.cpp
@@ -52,98 +52,98 @@ ZipCompressAction::ZipCompressAction(const File& src,
{
}
-bool ZipCompressAction::execute(LOG4CXX_NS::helpers::Pool& p) const
+bool ZipCompressAction::execute() const
{
- if (!priv->source.exists(p))
+ if (!priv->source.exists())
{
return false;
}
- apr_pool_t* aprpool = p.getAPRPool();
- apr_procattr_t* attr;
- apr_status_t stat = apr_procattr_create(&attr, aprpool);
-
- if (stat != APR_SUCCESS)
- {
- throw IOException(stat);
- }
-
- stat = apr_procattr_io_set(attr, APR_NO_PIPE, APR_NO_PIPE, APR_FULL_BLOCK);
-
- if (stat != APR_SUCCESS)
- {
- throw IOException(stat);
- }
-
- stat = apr_procattr_cmdtype_set(attr, APR_PROGRAM_PATH);
-
- if (stat != APR_SUCCESS)
- {
- throw IOException(stat);
- }
-
- //
- // redirect the child's error stream to this processes' error stream
- //
- apr_file_t* child_err;
- stat = apr_file_open_stderr(&child_err, aprpool);
-
- if (stat == APR_SUCCESS)
- {
- stat = apr_procattr_child_err_set(attr, child_err, NULL);
-
- if (stat != APR_SUCCESS)
- {
- throw IOException(stat);
- }
- }
-
- const char** args = (const char**)
- apr_palloc(aprpool, 5 * sizeof(*args));
- int i = 0;
-
- args[i++] = "zip";
- args[i++] = "-q";
- args[i++] = Transcoder::encode(priv->destination.getPath(), p);
- args[i++] = Transcoder::encode(priv->source.getPath(), p);
- args[i++] = NULL;
-
- if (priv->destination.exists(p))
- {
- priv->destination.deleteFile(p);
- }
-
- apr_proc_t pid;
- stat = apr_proc_create(&pid, "zip", args, NULL, attr, aprpool);
-
- if (stat != APR_SUCCESS)
- {
- LogLog::warn(LOG4CXX_STR("Failed to fork zip during log rotation; leaving log file uncompressed"));
- if (priv->throwIOExceptionOnForkFailure)
- throw IOException(LOG4CXX_STR("zip"), stat);
- /* If we fail here (to create the zip child process),
- * skip the compression and consider the rotation to be
- * otherwise successful. The caller has already rotated
- * the log file (`source` here refers to the
- * uncompressed, rotated path, and `destination` the
- * same path with `.zip` appended). Remove the empty
- * destination file and leave source as-is.
- */
- return true;
- }
-
- int exitCode;
- apr_proc_wait(&pid, &exitCode, NULL, APR_WAIT);
-
- if (exitCode != APR_SUCCESS)
- {
- throw IOException(exitCode);
- }
-
- if (priv->deleteSource)
- {
- priv->source.deleteFile(p);
- }
+// apr_pool_t* aprpool = p.getAPRPool();
+// apr_procattr_t* attr;
+// apr_status_t stat = apr_procattr_create(&attr, aprpool);
+
+// if (stat != APR_SUCCESS)
+// {
+// throw IOException(stat);
+// }
+
+// stat = apr_procattr_io_set(attr, APR_NO_PIPE, APR_NO_PIPE, APR_FULL_BLOCK);
+
+// if (stat != APR_SUCCESS)
+// {
+// throw IOException(stat);
+// }
+
+// stat = apr_procattr_cmdtype_set(attr, APR_PROGRAM_PATH);
+
+// if (stat != APR_SUCCESS)
+// {
+// throw IOException(stat);
+// }
+
+// //
+// // redirect the child's error stream to this processes' error stream
+// //
+// apr_file_t* child_err;
+// stat = apr_file_open_stderr(&child_err, aprpool);
+
+// if (stat == APR_SUCCESS)
+// {
+// stat = apr_procattr_child_err_set(attr, child_err, NULL);
+
+// if (stat != APR_SUCCESS)
+// {
+// throw IOException(stat);
+// }
+// }
+
+// const char** args = (const char**)
+// apr_palloc(aprpool, 5 * sizeof(*args));
+// int i = 0;
+
+// args[i++] = "zip";
+// args[i++] = "-q";
+// args[i++] = Transcoder::encode(priv->destination.getPath(), p);
+// args[i++] = Transcoder::encode(priv->source.getPath(), p);
+// args[i++] = NULL;
+
+// if (priv->destination.exists())
+// {
+// priv->destination.deleteFile();
+// }
+
+// apr_proc_t pid;
+// stat = apr_proc_create(&pid, "zip", args, NULL, attr, aprpool);
+
+// if (stat != APR_SUCCESS)
+// {
+// LogLog::warn(LOG4CXX_STR("Failed to fork zip during log rotation; leaving log file uncompressed"));
+// if (priv->throwIOExceptionOnForkFailure)
+// throw IOException(LOG4CXX_STR("zip"), stat);
+// /* If we fail here (to create the zip child process),
+// * skip the compression and consider the rotation to be
+// * otherwise successful. The caller has already rotated
+// * the log file (`source` here refers to the
+// * uncompressed, rotated path, and `destination` the
+// * same path with `.zip` appended). Remove the empty
+// * destination file and leave source as-is.
+// */
+// return true;
+// }
+
+// int exitCode;
+// apr_proc_wait(&pid, &exitCode, NULL, APR_WAIT);
+
+// if (exitCode != APR_SUCCESS)
+// {
+// throw IOException(exitCode);
+// }
+
+// if (priv->deleteSource)
+// {
+// priv->source.deleteFile();
+// }
return true;
}
diff --git a/src/main/include/log4cxx/appender.h b/src/main/include/log4cxx/appender.h
index 8e74552e..0340bb36 100644
--- a/src/main/include/log4cxx/appender.h
+++ b/src/main/include/log4cxx/appender.h
@@ -84,8 +84,7 @@ class LOG4CXX_EXPORT Appender :
Loggers will call the <code>doAppend</code> method of appender
implementations in order to log.
*/
- virtual void doAppend(const spi::LoggingEventPtr& event,
- LOG4CXX_NS::helpers::Pool& pool) = 0;
+ virtual void doAppend(const spi::LoggingEventPtr& event) = 0;
/**
diff --git a/src/main/include/log4cxx/appenderskeleton.h b/src/main/include/log4cxx/appenderskeleton.h
index 30260371..cc55e7fa 100644
--- a/src/main/include/log4cxx/appenderskeleton.h
+++ b/src/main/include/log4cxx/appenderskeleton.h
@@ -48,14 +48,14 @@ class LOG4CXX_EXPORT AppenderSkeleton :
method to perform actual logging. See also AppenderSkeleton::doAppend
method.
*/
- virtual void append(const spi::LoggingEventPtr& event, helpers::Pool& p) = 0;
+ virtual void append(const spi::LoggingEventPtr& event) = 0;
/**
* Compare \c event level against the appender threshold and check that \c event is accepted.
* If \c event is accepted, delegate log output to the subclass implementation of
* the AppenderSkeleton#append method.
* */
- void doAppendImpl(const spi::LoggingEventPtr& event, helpers::Pool& pool);
+ void doAppendImpl(const spi::LoggingEventPtr& event);
/**
* Does no attached filter deny \c event or does an attached filter accept \c event?
@@ -85,7 +85,7 @@ class LOG4CXX_EXPORT AppenderSkeleton :
No action is performed in this implementation.
*/
- void activateOptions(helpers::Pool& /* pool */) override {}
+ void activateOptions() override {}
/**
\copybrief spi::OptionHandler::setOption()
@@ -157,7 +157,7 @@ class LOG4CXX_EXPORT AppenderSkeleton :
*
* Reimplement this method in your appender if you use a different concurrency control technique.
* */
- void doAppend(const spi::LoggingEventPtr& event, helpers::Pool& pool) override;
+ void doAppend(const spi::LoggingEventPtr& event) override;
/**
Set the {@link spi::ErrorHandler ErrorHandler} for this Appender.
diff --git a/src/main/include/log4cxx/asyncappender.h b/src/main/include/log4cxx/asyncappender.h
index 6e3212fe..0522ffaa 100644
--- a/src/main/include/log4cxx/asyncappender.h
+++ b/src/main/include/log4cxx/asyncappender.h
@@ -123,15 +123,14 @@ class LOG4CXX_EXPORT AsyncAppender :
/**
* Call AppenderSkeleton#doAppendImpl without acquiring a lock.
*/
- void doAppend(const spi::LoggingEventPtr& event,
- helpers::Pool& pool1) override;
+ void doAppend(const spi::LoggingEventPtr& event) override;
/**
* Add \c event to a ring buffer.
* The behaviour when the ring buffer is full
* is controlled by the [Blocking property](@ref BlockingProperty) value.
*/
- void append(const spi::LoggingEventPtr& event, helpers::Pool& p) override;
+ void append(const spi::LoggingEventPtr& event) override;
/**
Close this <code>AsyncAppender</code> by interrupting the
diff --git a/src/main/include/log4cxx/consoleappender.h b/src/main/include/log4cxx/consoleappender.h
index 328ea809..5e6c438f 100644
--- a/src/main/include/log4cxx/consoleappender.h
+++ b/src/main/include/log4cxx/consoleappender.h
@@ -87,7 +87,7 @@ class LOG4CXX_EXPORT ConsoleAppender : public WriterAppender
No action is performed in this implementation.
*/
- void activateOptions(helpers::Pool& p) override;
+ void activateOptions() override;
/**
\copybrief WriterAppender::setOption()
diff --git a/src/main/include/log4cxx/db/odbcappender.h b/src/main/include/log4cxx/db/odbcappender.h
index 5a58cb3c..8642cedd 100644
--- a/src/main/include/log4cxx/db/odbcappender.h
+++ b/src/main/include/log4cxx/db/odbcappender.h
@@ -179,27 +179,25 @@ class LOG4CXX_EXPORT ODBCAppender : public AppenderSkeleton
/**
Activate the specified options.
*/
- void activateOptions(helpers::Pool& p) override;
+ void activateOptions() override;
/**
* Adds the event to the buffer. When full the buffer is flushed.
*/
- void append(const spi::LoggingEventPtr& event, helpers::Pool&) override;
+ void append(const spi::LoggingEventPtr& event) override;
protected:
#if LOG4CXX_ABI_VERSION <= 15
/**
* To be removed.
*/
- LogString getLogStatement(const spi::LoggingEventPtr& event,
- helpers::Pool& p) const;
+ LogString getLogStatement(const spi::LoggingEventPtr& event) const;
/**
*
* To be removed.
* */
- virtual void execute(const LogString& sql,
- LOG4CXX_NS::helpers::Pool& p) /*throw(SQLException)*/;
+ virtual void execute(const LogString& sql) /*throw(SQLException)*/;
#endif
/**
* Override this to return the connection to a pool, or to clean up the
@@ -216,7 +214,7 @@ class LOG4CXX_EXPORT ODBCAppender : public AppenderSkeleton
* By default this creates a single connection which is held open
* until the object is garbage collected.
*/
- virtual SQLHDBC getConnection(LOG4CXX_NS::helpers::Pool& p) /*throw(SQLException)*/;
+ virtual SQLHDBC getConnection() /*throw(SQLException)*/;
/**
* Closes the appender, flushing the buffer first then closing the default
@@ -232,7 +230,7 @@ class LOG4CXX_EXPORT ODBCAppender : public AppenderSkeleton
*
* If a statement fails the LoggingEvent stays in the buffer!
*/
- virtual void flushBuffer(LOG4CXX_NS::helpers::Pool& p);
+ virtual void flushBuffer();
/**
* Does this appender require a layout?
@@ -269,11 +267,9 @@ class LOG4CXX_EXPORT ODBCAppender : public AppenderSkeleton
ODBCAppender(const ODBCAppender&);
ODBCAppender& operator=(const ODBCAppender&);
#if LOG4CXX_WCHAR_T_API || LOG4CXX_LOGCHAR_IS_WCHAR_T || defined(WIN32) || defined(_WIN32)
- static void encode(wchar_t** dest, const LogString& src,
- LOG4CXX_NS::helpers::Pool& p);
+ static void encode(wchar_t** dest, const LogString& src);
#endif
- static void encode(unsigned short** dest, const LogString& src,
- LOG4CXX_NS::helpers::Pool& p);
+ static void encode(unsigned short** dest, const LogString& src);
protected:
struct ODBCAppenderPriv;
diff --git a/src/main/include/log4cxx/file.h b/src/main/include/log4cxx/file.h
index 3f2ab806..7a611f47 100644
--- a/src/main/include/log4cxx/file.h
+++ b/src/main/include/log4cxx/file.h
@@ -20,18 +20,13 @@
#include <log4cxx/logger.h>
#include <log4cxx/logstring.h>
-
-extern "C" {
- struct apr_file_t;
- struct apr_finfo_t;
-}
+#include <filesystem>
namespace LOG4CXX_NS
{
namespace helpers
{
class Transcoder;
-class Pool;
}
/**
@@ -99,23 +94,20 @@ class LOG4CXX_EXPORT File
~File();
/**
- * Determines if file exists.
- * @param p pool.
+ * Determines if file exists.
* @return true if file exists.
*/
- bool exists(LOG4CXX_NS::helpers::Pool& p) const;
+ bool exists() const;
/**
* Determines length of file. May not be accurate if file is current open.
- * @param p pool.
* @return length of file.
*/
- size_t length(LOG4CXX_NS::helpers::Pool& p) const;
+ size_t length() const;
/**
- * Determines last modification date.
- * @param p pool.
+ * Determines last modification date.
* @return length of file.
*/
- log4cxx_time_t lastModified(LOG4CXX_NS::helpers::Pool& p) const;
+ log4cxx_time_t lastModified() const;
/**
* Get final portion of file path.
* @return file name.
@@ -132,49 +124,45 @@ class LOG4CXX_EXPORT File
File& setPath(const LogString&);
/**
- * Open file. See apr_file_open for details.
- * @param file APR file handle.
+ * Open file. See apr_file_open for details.
* @param flags flags.
- * @param perm permissions.
- * @param p pool.
+ * @param perm permissions.
* @return APR_SUCCESS if successful.
*/
- log4cxx_status_t open(apr_file_t** file, int flags,
- int perm, LOG4CXX_NS::helpers::Pool& p) const;
+ log4cxx_status_t open(std::fstream* fstream, int flags,
+ int perm) const;
/**
* List files if current file is a directory.
* @param p pool.
* @return list of files in this directory, operation of non-directory returns empty list.
*/
- std::vector<LogString> list(LOG4CXX_NS::helpers::Pool& p) const;
+ std::vector<LogString> list() const;
/**
- * Delete file.
- * @param p pool.
+ * Delete file.
* @return true if file successfully deleted.
*/
- bool deleteFile(LOG4CXX_NS::helpers::Pool& p) const;
+ bool deleteFile() const;
/**
* Rename file.
- * @param dest new path for file.
- * @param p pool.
+ * @param dest new path for file.
* @return true if file successfully renamed.
*/
- bool renameTo(const File& dest, LOG4CXX_NS::helpers::Pool& p) const;
+ bool renameTo(const File& dest) const;
/**
* Get path of parent directory.
* @param p pool.
* @return path of parent directory.
*/
- LogString getParent(LOG4CXX_NS::helpers::Pool& p) const;
+ LogString getParent() const;
/**
* Make directories recursively.
* @param p pool.
* @return true if all requested directories existed or have been created.
*/
- bool mkdirs(LOG4CXX_NS::helpers::Pool& p) const;
+ bool mkdirs() const;
/**
* Set the file to be deleted when this object is destroyed.
@@ -191,9 +179,7 @@ class LOG4CXX_EXPORT File
bool getAutoDelete() const;
private:
- LOG4CXX_DECLARE_PRIVATE_MEMBER_PTR(FilePrivate, m_priv)
- static char* convertBackSlashes(char*);
- char* getPath(LOG4CXX_NS::helpers::Pool& p) const;
+ LOG4CXX_DECLARE_PRIVATE_MEMBER_PTR(FilePrivate, m_priv)
};
} // namespace log4cxx
diff --git a/src/main/include/log4cxx/fileappender.h b/src/main/include/log4cxx/fileappender.h
index eb72f58d..9f523db8 100644
--- a/src/main/include/log4cxx/fileappender.h
+++ b/src/main/include/log4cxx/fileappender.h
@@ -26,10 +26,6 @@
namespace LOG4CXX_NS
{
-namespace helpers
-{
-class Pool;
-}
/**
* FileAppender appends log events to a file.
@@ -123,7 +119,7 @@ class LOG4CXX_EXPORT FileAppender : public WriterAppender
If there was already an opened file, then the previous file
is closed first.
*/
- void activateOptions(helpers::Pool& p) override;
+ void activateOptions() override;
/**
\copybrief AppenderSkeleton::setOption()
@@ -219,7 +215,7 @@ class LOG4CXX_EXPORT FileAppender : public WriterAppender
static LogString stripDuplicateBackslashes(const LogString& name);
protected:
- void activateOptionsInternal(helpers::Pool& p);
+ void activateOptionsInternal();
/**
Sets and <i>opens</i> the file where the log output will
@@ -238,12 +234,10 @@ class LOG4CXX_EXPORT FileAppender : public WriterAppender
@param append If true will append to fileName. Otherwise will
truncate fileName.
@param bufferedIO Do we do bufferedIO?
- @param bufferSize How big should the IO buffer be?
- @param p memory pool for operation.
+ @param bufferSize How big should the IO buffer be?
*/
void setFileInternal(const LogString& file, bool append,
- bool bufferedIO, size_t bufferSize,
- helpers::Pool& p);
+ bool bufferedIO, size_t bufferSize);
void setFileInternal(const LogString& file);
diff --git a/src/main/include/log4cxx/helpers/appenderattachableimpl.h b/src/main/include/log4cxx/helpers/appenderattachableimpl.h
index 289512e9..a4d3378a 100644
--- a/src/main/include/log4cxx/helpers/appenderattachableimpl.h
+++ b/src/main/include/log4cxx/helpers/appenderattachableimpl.h
@@ -66,8 +66,7 @@ class LOG4CXX_EXPORT AppenderAttachableImpl :
/**
Call the <code>doAppend</code> method on all attached appenders.
*/
- int appendLoopOnAppenders(const spi::LoggingEventPtr& event,
- LOG4CXX_NS::helpers::Pool& p);
+ int appendLoopOnAppenders(const spi::LoggingEventPtr& event);
/**
* Get all previously added appenders as an Enumeration.
diff --git a/src/main/include/log4cxx/helpers/bufferedwriter.h b/src/main/include/log4cxx/helpers/bufferedwriter.h
index 36ae80e3..7a5f146d 100644
--- a/src/main/include/log4cxx/helpers/bufferedwriter.h
+++ b/src/main/include/log4cxx/helpers/bufferedwriter.h
@@ -46,9 +46,9 @@ class LOG4CXX_EXPORT BufferedWriter : public Writer
BufferedWriter(WriterPtr& out, size_t sz);
virtual ~BufferedWriter();
- void close(Pool& p) override;
- void flush(Pool& p) override;
- void write(const LogString& str, Pool& p) override;
+ void close() override;
+ void flush() override;
+ void write(const LogString& str) override;
WriterPtr getWriter() const;
private:
diff --git a/src/main/include/log4cxx/helpers/bytearrayoutputstream.h b/src/main/include/log4cxx/helpers/bytearrayoutputstream.h
index 0335914d..15161fb9 100644
--- a/src/main/include/log4cxx/helpers/bytearrayoutputstream.h
+++ b/src/main/include/log4cxx/helpers/bytearrayoutputstream.h
@@ -48,9 +48,9 @@ class LOG4CXX_EXPORT ByteArrayOutputStream : public OutputStream
ByteArrayOutputStream();
virtual ~ByteArrayOutputStream();
- void close(Pool& p) override;
- void flush(Pool& p) override;
- void write(ByteBuffer& buf, Pool& p) override;
+ void close() override;
+ void flush() override;
+ void write(ByteBuffer& buf) override;
ByteList toByteArray() const;
private:
diff --git a/src/main/include/log4cxx/helpers/cacheddateformat.h b/src/main/include/log4cxx/helpers/cacheddateformat.h
index 772ead2e..3878e8e4 100644
--- a/src/main/include/log4cxx/helpers/cacheddateformat.h
+++ b/src/main/include/log4cxx/helpers/cacheddateformat.h
@@ -100,27 +100,23 @@ class LOG4CXX_EXPORT CachedDateFormat : public LOG4CXX_NS::helpers::DateFormat
* Finds start of millisecond field in formatted time.
* @param time long time, must be integral number of seconds
* @param formatted String corresponding formatted string
- * @param formatter DateFormat date format
- * @param pool pool.
+ * @param formatter DateFormat date format
* @return int position in string of first digit of milliseconds,
* -1 indicates no millisecond field, -2 indicates unrecognized
* field (likely RelativeTimeDateFormat)
*/
static int findMillisecondStart(
log4cxx_time_t time, const LogString& formatted,
- const LOG4CXX_NS::helpers::DateFormatPtr& formatter,
- LOG4CXX_NS::helpers::Pool& pool);
+ const LOG4CXX_NS::helpers::DateFormatPtr& formatter);
/**
* Formats a Date into a date/time string.
*
* @param date the date to format.
- * @param sbuf the string buffer to write to.
- * @param p memory pool.
+ * @param sbuf the string buffer to write to.
*/
virtual void format(LogString& sbuf,
- log4cxx_time_t date,
- LOG4CXX_NS::helpers::Pool& p) const;
+ log4cxx_time_t date) const;
private:
/**
@@ -148,12 +144,10 @@ class LOG4CXX_EXPORT CachedDateFormat : public LOG4CXX_NS::helpers::DateFormat
/**
* Format an integer consistent with the format method.
* @param s string to which the numeric string is appended.
- * @param n integer value.
- * @param p memory pool used during formatting.
+ * @param n integer value.
*/
virtual void numberFormat(LogString& s,
- int n,
- LOG4CXX_NS::helpers::Pool& p) const;
+ int n) const;
/**
* Gets maximum cache validity for the specified SimpleDateTime
diff --git a/src/main/include/log4cxx/helpers/dateformat.h b/src/main/include/log4cxx/helpers/dateformat.h
index 8a827883..725ab841 100644
--- a/src/main/include/log4cxx/helpers/dateformat.h
+++ b/src/main/include/log4cxx/helpers/dateformat.h
@@ -46,10 +46,9 @@ class LOG4CXX_EXPORT DateFormat : public Object
/**
* Formats an log4cxx_time_t into a date/time string.
* @param s string to which the date/time string is appended.
- * @param tm date to be formatted.
- * @param p memory pool used during formatting.
+ * @param tm date to be formatted.
*/
- virtual void format(LogString& s, log4cxx_time_t tm, LOG4CXX_NS::helpers::Pool& p) const = 0;
+ virtual void format(LogString& s, log4cxx_time_t tm) const = 0;
/**
* Sets the time zone.
@@ -60,12 +59,11 @@ class LOG4CXX_EXPORT DateFormat : public Object
/**
* Format an integer consistent with the format method.
* @param s string to which the numeric string is appended.
- * @param n integer value.
- * @param p memory pool used during formatting.
+ * @param n integer value.
* @remarks This method is used by CachedDateFormat to
* format the milliseconds.
*/
- virtual void numberFormat(LogString& s, int n, LOG4CXX_NS::helpers::Pool& p) const;
+ virtual void numberFormat(LogString& s, int n) const;
protected:
diff --git a/src/main/include/log4cxx/helpers/fileoutputstream.h b/src/main/include/log4cxx/helpers/fileoutputstream.h
index a1b15c4e..ed09c33d 100644
--- a/src/main/include/log4cxx/helpers/fileoutputstream.h
+++ b/src/main/include/log4cxx/helpers/fileoutputstream.h
@@ -47,18 +47,17 @@ class LOG4CXX_EXPORT FileOutputStream : public OutputStream
FileOutputStream(const logchar* filename, bool append = false);
virtual ~FileOutputStream();
- void close(Pool& p) override;
- void flush(Pool& p) override;
- void write(ByteBuffer& buf, Pool& p) override;
+ void close() override;
+ void flush() override;
+ void write(ByteBuffer& buf) override;
- apr_file_t* getFilePtr() const;
+ std::ofstream* getFilePtr() const;
private:
FileOutputStream(const FileOutputStream&) = delete;
FileOutputStream(FileOutputStream&&) = delete;
FileOutputStream& operator=(const FileOutputStream&) = delete;
- static apr_file_t* open(const LogString& fn, bool append,
- LOG4CXX_NS::helpers::Pool& p);
+ static bool open(std::ofstream& fout, const LogString& fn, bool append);
};
LOG4CXX_PTR_DEF(FileOutputStream);
diff --git a/src/main/include/log4cxx/helpers/inputstreamreader.h b/src/main/include/log4cxx/helpers/inputstreamreader.h
index 822748aa..32fc094c 100644
--- a/src/main/include/log4cxx/helpers/inputstreamreader.h
+++ b/src/main/include/log4cxx/helpers/inputstreamreader.h
@@ -68,16 +68,14 @@ class LOG4CXX_EXPORT InputStreamReader : public Reader
/**
* Closes the stream.
- *
- * @param p The memory pool associated with the reader.
*/
- void close(Pool& p) override;
+ void close() override;
/**
* @return The complete stream contents as a LogString.
* @param p The memory pool associated with the reader.
*/
- LogString read(Pool& p) override;
+ LogString read() override;
/**
* @return The name of the character encoding being used by this stream.
diff --git a/src/main/include/log4cxx/helpers/onlyonceerrorhandler.h b/src/main/include/log4cxx/helpers/onlyonceerrorhandler.h
index 21111668..63d580d8 100644
--- a/src/main/include/log4cxx/helpers/onlyonceerrorhandler.h
+++ b/src/main/include/log4cxx/helpers/onlyonceerrorhandler.h
@@ -69,7 +69,7 @@ class LOG4CXX_EXPORT OnlyOnceErrorHandler :
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/helpers/outputstream.h b/src/main/include/log4cxx/helpers/outputstream.h
index 95d20bf5..368b20f7 100644
--- a/src/main/include/log4cxx/helpers/outputstream.h
+++ b/src/main/include/log4cxx/helpers/outputstream.h
@@ -43,9 +43,9 @@ class LOG4CXX_EXPORT OutputStream : public Object
virtual ~OutputStream();
public:
- virtual void close(Pool& p) = 0;
- virtual void flush(Pool& p) = 0;
- virtual void write(ByteBuffer& buf, Pool& p) = 0;
+ virtual void close() = 0;
+ virtual void flush() = 0;
+ virtual void write(ByteBuffer& buf) = 0;
private:
OutputStream(const OutputStream&);
diff --git a/src/main/include/log4cxx/helpers/outputstreamwriter.h b/src/main/include/log4cxx/helpers/outputstreamwriter.h
index 547744b9..cb5729f9 100644
--- a/src/main/include/log4cxx/helpers/outputstreamwriter.h
+++ b/src/main/include/log4cxx/helpers/outputstreamwriter.h
@@ -53,9 +53,9 @@ class LOG4CXX_EXPORT OutputStreamWriter : public Writer
OutputStreamWriter(LOG4CXX_16_CONST OutputStreamPtr& out, LOG4CXX_16_CONST CharsetEncoderPtr& enc);
~OutputStreamWriter();
- void close(Pool& p) override;
- void flush(Pool& p) override;
- void write(const LogString& str, Pool& p) override;
+ void close() override;
+ void flush() override;
+ void write(const LogString& str) override;
LogString getEncoding() const;
OutputStreamPtr getOutputStreamPtr() const;
diff --git a/src/main/include/log4cxx/helpers/reader.h b/src/main/include/log4cxx/helpers/reader.h
index 1c5d2bdb..e4b08085 100644
--- a/src/main/include/log4cxx/helpers/reader.h
+++ b/src/main/include/log4cxx/helpers/reader.h
@@ -48,16 +48,14 @@ class LOG4CXX_EXPORT Reader : public Object
public:
/**
- * Closes the stream.
- * @param p The memory pool associated with the reader.
+ * Closes the stream.
*/
- virtual void close(Pool& p) = 0;
+ virtual void close() = 0;
/**
- * @return The complete stream contents as a LogString.
- * @param p The memory pool associated with the reader.
+ * @return The complete stream contents as a LogString.
*/
- virtual LogString read(Pool& p) = 0;
+ virtual LogString read() = 0;
private:
Reader(const Reader&);
diff --git a/src/main/include/log4cxx/helpers/simpledateformat.h b/src/main/include/log4cxx/helpers/simpledateformat.h
index 5d8730ea..b2d63861 100644
--- a/src/main/include/log4cxx/helpers/simpledateformat.h
+++ b/src/main/include/log4cxx/helpers/simpledateformat.h
@@ -85,8 +85,7 @@ class LOG4CXX_EXPORT SimpleDateFormat : public DateFormat
~SimpleDateFormat();
virtual void format(LogString& s,
- log4cxx_time_t tm,
- LOG4CXX_NS::helpers::Pool& p) const;
+ log4cxx_time_t tm) const;
/**
* Set time zone.
diff --git a/src/main/include/log4cxx/helpers/strftimedateformat.h b/src/main/include/log4cxx/helpers/strftimedateformat.h
index 44fd1205..4366313b 100644
--- a/src/main/include/log4cxx/helpers/strftimedateformat.h
+++ b/src/main/include/log4cxx/helpers/strftimedateformat.h
@@ -43,8 +43,7 @@ class LOG4CXX_EXPORT StrftimeDateFormat : public DateFormat
~StrftimeDateFormat();
virtual void format(LogString& s,
- log4cxx_time_t tm,
- LOG4CXX_NS::helpers::Pool& p) const;
+ log4cxx_time_t tm) const;
/**
* Set time zone.
diff --git a/src/main/include/log4cxx/helpers/stringhelper.h b/src/main/include/log4cxx/helpers/stringhelper.h
index cc9edf39..d25c567e 100644
--- a/src/main/include/log4cxx/helpers/stringhelper.h
+++ b/src/main/include/log4cxx/helpers/stringhelper.h
@@ -26,7 +26,6 @@ namespace LOG4CXX_NS
{
namespace helpers
{
-class Pool;
/**
String manipulation routines
*/
@@ -45,9 +44,9 @@ class LOG4CXX_EXPORT StringHelper
static int toInt(const LogString& s);
static int64_t toInt64(const LogString& s);
- static void toString(int i, LOG4CXX_NS::helpers::Pool& pool, LogString& dst);
- static void toString(int64_t i, LOG4CXX_NS::helpers::Pool& pool, LogString& dst);
- static void toString(size_t i, LOG4CXX_NS::helpers::Pool& pool, LogString& dst);
+ static void toString(int i, LogString& dst);
+ static void toString(int64_t i, LogString& dst);
+ static void toString(size_t i, LogString& dst);
static void toString(bool val, LogString& dst);
diff --git a/src/main/include/log4cxx/helpers/systemerrwriter.h b/src/main/include/log4cxx/helpers/systemerrwriter.h
index 076291db..0bd3ba3c 100644
--- a/src/main/include/log4cxx/helpers/systemerrwriter.h
+++ b/src/main/include/log4cxx/helpers/systemerrwriter.h
@@ -40,12 +40,12 @@ class LOG4CXX_EXPORT SystemErrWriter : public Writer
SystemErrWriter();
virtual ~SystemErrWriter();
- void close(Pool& p) override;
- void flush(Pool& p) override;
- void write(const LogString& str, Pool& p) override;
+ void close() override;
+ void flush() override;
+ void write(const LogString& str) override;
- static void write(const LogString& str);
- static void flush();
+ static void write_raw(const LogString& str);
+ static void flush_raw();
private:
SystemErrWriter(const SystemErrWriter&);
diff --git a/src/main/include/log4cxx/helpers/systemoutwriter.h b/src/main/include/log4cxx/helpers/systemoutwriter.h
index 039a1616..81a69579 100644
--- a/src/main/include/log4cxx/helpers/systemoutwriter.h
+++ b/src/main/include/log4cxx/helpers/systemoutwriter.h
@@ -40,12 +40,12 @@ class LOG4CXX_EXPORT SystemOutWriter : public Writer
SystemOutWriter();
~SystemOutWriter();
- void close(Pool& p) override;
- void flush(Pool& p) override;
- void write(const LogString& str, Pool& p) override;
+ void close() override;
+ void flush() override;
+ void write(const LogString& str) override;
- static void write(const LogString& str);
- static void flush();
+ static void write_raw(const LogString& str);
+ static void flush_raw();
private:
SystemOutWriter(const SystemOutWriter&);
SystemOutWriter& operator=(const SystemOutWriter&);
diff --git a/src/main/include/log4cxx/helpers/writer.h b/src/main/include/log4cxx/helpers/writer.h
index a4529316..9970aab4 100644
--- a/src/main/include/log4cxx/helpers/writer.h
+++ b/src/main/include/log4cxx/helpers/writer.h
@@ -43,9 +43,9 @@ class LOG4CXX_EXPORT Writer : public Object
virtual ~Writer();
public:
- virtual void close(Pool& p) = 0;
- virtual void flush(Pool& p) = 0;
- virtual void write(const LogString& str, Pool& p) = 0;
+ virtual void close() = 0;
+ virtual void flush() = 0;
+ virtual void write(const LogString& str) = 0;
private:
Writer(const Writer&);
diff --git a/src/main/include/log4cxx/log4cxx.h.in b/src/main/include/log4cxx/log4cxx.h.in
index f4d596f2..cdd9829f 100644
--- a/src/main/include/log4cxx/log4cxx.h.in
+++ b/src/main/include/log4cxx/log4cxx.h.in
@@ -106,12 +106,14 @@ __pragma( warning( pop ) )
#cmakedefine LOG4CXX_ENABLE_APR
+#include <chrono>
+
namespace LOG4CXX_NS {
/**
- * log4cxx_time_t - holds the number of microseconds since 1970-01-01
+ * log4cxx_time_t - a point in time
*/
-typedef int64_t log4cxx_time_t;
+typedef std::chrono::time_point<std::chrono::system_clock> log4cxx_time_t;
typedef int log4cxx_status_t;
diff --git a/src/main/include/log4cxx/net/smtpappender.h b/src/main/include/log4cxx/net/smtpappender.h
index e9059ee1..23c5bfeb 100644
--- a/src/main/include/log4cxx/net/smtpappender.h
+++ b/src/main/include/log4cxx/net/smtpappender.h
@@ -141,13 +141,13 @@ class LOG4CXX_EXPORT SMTPAppender : public AppenderSkeleton
<li>a non-ascii character is detected where not permitted</li>
</ul>.
*/
- void activateOptions(helpers::Pool& p) override;
+ void activateOptions() override;
/**
Perform SMTPAppender specific appending actions, mainly adding
the event to a cyclic buffer and checking if the event triggers
an e-mail to be sent. */
- void append(const spi::LoggingEventPtr& event, helpers::Pool& p) override;
+ void append(const spi::LoggingEventPtr& event) override;
void close() override;
@@ -176,7 +176,7 @@ class LOG4CXX_EXPORT SMTPAppender : public AppenderSkeleton
/**
Send the contents of the cyclic buffer as an e-mail message.
*/
- void sendBuffer(LOG4CXX_NS::helpers::Pool& p);
+ void sendBuffer();
/**
diff --git a/src/main/include/log4cxx/net/socketappenderskeleton.h b/src/main/include/log4cxx/net/socketappenderskeleton.h
index ea45b0ab..fad8a8a1 100644
--- a/src/main/include/log4cxx/net/socketappenderskeleton.h
+++ b/src/main/include/log4cxx/net/socketappenderskeleton.h
@@ -56,7 +56,7 @@ class LOG4CXX_EXPORT SocketAppenderSkeleton : public AppenderSkeleton
Connects to the specified <b>RemoteHost</b> and <b>Port</b>.
*/
- void activateOptions(helpers::Pool& p) override;
+ void activateOptions() override;
void close() override;
@@ -144,16 +144,16 @@ class LOG4CXX_EXPORT SocketAppenderSkeleton : public AppenderSkeleton
protected:
SocketAppenderSkeleton(std::unique_ptr<SocketAppenderSkeletonPriv> priv);
- virtual void setSocket(LOG4CXX_NS::helpers::SocketPtr& socket, LOG4CXX_NS::helpers::Pool& p) = 0;
+ virtual void setSocket(LOG4CXX_NS::helpers::SocketPtr& socket) = 0;
- virtual void cleanUp(LOG4CXX_NS::helpers::Pool& p) = 0;
+ virtual void cleanUp(p) = 0;
virtual int getDefaultDelay() const = 0;
virtual int getDefaultPort() const = 0;
private:
- void connect(LOG4CXX_NS::helpers::Pool& p);
+ void connect();
/**
The Connector will reconnect when the server becomes available
again. It does this by attempting to open a new connection every
diff --git a/src/main/include/log4cxx/net/syslogappender.h b/src/main/include/log4cxx/net/syslogappender.h
index e4c2e808..05d6f3d7 100644
--- a/src/main/include/log4cxx/net/syslogappender.h
+++ b/src/main/include/log4cxx/net/syslogappender.h
@@ -73,14 +73,14 @@ class LOG4CXX_EXPORT SyslogAppender : public AppenderSkeleton
*/
static int getFacility(const LogString& facilityName);
- void append(const spi::LoggingEventPtr& event, helpers::Pool& p) override;
+ void append(const spi::LoggingEventPtr& event) override;
/**
\copybrief AppenderSkeleton::activateOptions()
No action is performed in this implementation.
*/
- void activateOptions(helpers::Pool& p) override;
+ void activateOptions() override;
/**
\copybrief AppenderSkeleton::setOption()
diff --git a/src/main/include/log4cxx/net/telnetappender.h b/src/main/include/log4cxx/net/telnetappender.h
index ce5985af..77f17670 100644
--- a/src/main/include/log4cxx/net/telnetappender.h
+++ b/src/main/include/log4cxx/net/telnetappender.h
@@ -89,7 +89,7 @@ class LOG4CXX_EXPORT TelnetAppender : public AppenderSkeleton
Create the socket handler and wait for connections.
*/
- void activateOptions(helpers::Pool& p) override;
+ void activateOptions() override;
/**
@@ -157,7 +157,7 @@ class LOG4CXX_EXPORT TelnetAppender : public AppenderSkeleton
protected:
/** Send \c event to each connected client.
*/
- void append(const spi::LoggingEventPtr& event, helpers::Pool& p) override;
+ void append(const spi::LoggingEventPtr& event) override;
private:
// prevent copy and assignment statements
@@ -165,7 +165,7 @@ class LOG4CXX_EXPORT TelnetAppender : public AppenderSkeleton
TelnetAppender& operator=(const TelnetAppender&);
void write(helpers::ByteBuffer&);
- void writeStatus(const helpers::SocketPtr& socket, const LogString& msg, helpers::Pool& p);
+ void writeStatus(const helpers::SocketPtr& socket, const LogString& msg);
void acceptConnections();
struct TelnetAppenderPriv;
diff --git a/src/main/include/log4cxx/pattern/classnamepatternconverter.h b/src/main/include/log4cxx/pattern/classnamepatternconverter.h
index cacf0a40..a8b94694 100644
--- a/src/main/include/log4cxx/pattern/classnamepatternconverter.h
+++ b/src/main/include/log4cxx/pattern/classnamepatternconverter.h
@@ -58,8 +58,7 @@ class LOG4CXX_EXPORT ClassNamePatternConverter : 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/colorendpatternconverter.h b/src/main/include/log4cxx/pattern/colorendpatternconverter.h
index 394eaf5e..15e1ca7b 100644
--- a/src/main/include/log4cxx/pattern/colorendpatternconverter.h
+++ b/src/main/include/log4cxx/pattern/colorendpatternconverter.h
@@ -55,8 +55,7 @@ class LOG4CXX_EXPORT ColorEndPatternConverter
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/colorstartpatternconverter.h b/src/main/include/log4cxx/pattern/colorstartpatternconverter.h
index 8f225768..5153400f 100644
--- a/src/main/include/log4cxx/pattern/colorstartpatternconverter.h
+++ b/src/main/include/log4cxx/pattern/colorstartpatternconverter.h
@@ -57,8 +57,7 @@ class LOG4CXX_EXPORT ColorStartPatternConverter
using LoggingEventPatternConverter::format;
void format(const spi::LoggingEventPtr& event,
- LogString& toAppendTo,
- helpers::Pool& p) const override;
+ LogString& toAppendTo) const override;
void setFatalColor(const LogString& color);
void setErrorColor(const LogString& color);
diff --git a/src/main/include/log4cxx/pattern/datepatternconverter.h b/src/main/include/log4cxx/pattern/datepatternconverter.h
index 371bd0a4..c1a8a0fb 100644
--- a/src/main/include/log4cxx/pattern/datepatternconverter.h
+++ b/src/main/include/log4cxx/pattern/datepatternconverter.h
@@ -79,8 +79,7 @@ class LOG4CXX_EXPORT DatePatternConverter : public LoggingEventPatternConverter
* Append to \c output a textual version of the timestamp in \c event.
*/
void format(const spi::LoggingEventPtr& event,
- LogString& output,
- helpers::Pool& p) const override;
+ LogString& output) const override;
/**
* Append to \c output a textual version of the date or timestamp in \c obj.
@@ -88,15 +87,13 @@ class LOG4CXX_EXPORT DatePatternConverter : public LoggingEventPatternConverter
* Nothing is added to \c output if \c obj does not point to a Date or spi::LoggingEvent.
*/
void format(const helpers::ObjectPtr& obj,
- LogString& output,
- helpers::Pool& p) const override;
+ LogString& output) const override;
/**
* Append to \c toAppendTo a textual version of \c date.
*/
void format(const helpers::DatePtr& date,
- LogString& toAppendTo,
- helpers::Pool& p) const;
+ LogString& toAppendTo) const;
};
LOG4CXX_PTR_DEF(DatePatternConverter);
diff --git a/src/main/include/log4cxx/pattern/filelocationpatternconverter.h b/src/main/include/log4cxx/pattern/filelocationpatternconverter.h
index b68b7bcd..2d274b87 100644
--- a/src/main/include/log4cxx/pattern/filelocationpatternconverter.h
+++ b/src/main/include/log4cxx/pattern/filelocationpatternconverter.h
@@ -55,8 +55,7 @@ class LOG4CXX_EXPORT FileLocationPatternConverter
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/integerpatternconverter.h b/src/main/include/log4cxx/pattern/integerpatternconverter.h
index f5c775d8..0c486b84 100644
--- a/src/main/include/log4cxx/pattern/integerpatternconverter.h
+++ b/src/main/include/log4cxx/pattern/integerpatternconverter.h
@@ -52,8 +52,7 @@ class LOG4CXX_EXPORT IntegerPatternConverter : public PatternConverter
const std::vector<LogString>& options);
void format(const helpers::ObjectPtr& obj,
- LogString& toAppendTo,
- helpers::Pool& p) const override;
+ LogString& toAppendTo) const override;
};
LOG4CXX_PTR_DEF(IntegerPatternConverter);
diff --git a/src/main/include/log4cxx/pattern/loggingeventpatternconverter.h b/src/main/include/log4cxx/pattern/loggingeventpatternconverter.h
index 76bb0bd6..91c2860b 100644
--- a/src/main/include/log4cxx/pattern/loggingeventpatternconverter.h
+++ b/src/main/include/log4cxx/pattern/loggingeventpatternconverter.h
@@ -57,17 +57,14 @@ class LOG4CXX_EXPORT LoggingEventPatternConverter : public PatternConverter
/**
* Formats an event into a string buffer.
* @param event event to format, may not be null.
- * @param toAppendTo string buffer to which the formatted event will be appended. May not be null.
- * @param p pool for memory allocations needing during format.
+ * @param toAppendTo string buffer to which the formatted event will be appended. May not be null.
*/
virtual void format(
const spi::LoggingEventPtr& event,
- LogString& toAppendTo,
- helpers::Pool& p) const = 0;
+ LogString& toAppendTo) const = 0;
void format(const helpers::ObjectPtr& obj,
- LogString& toAppendTo,
- helpers::Pool& p) const override;
+ LogString& toAppendTo) const override;
/**
* Normally pattern converters are not meant to handle Exceptions although
diff --git a/src/main/include/log4cxx/pattern/patternconverter.h b/src/main/include/log4cxx/pattern/patternconverter.h
index 9bcf8c84..160c357b 100644
--- a/src/main/include/log4cxx/pattern/patternconverter.h
+++ b/src/main/include/log4cxx/pattern/patternconverter.h
@@ -68,12 +68,10 @@ class LOG4CXX_EXPORT PatternConverter : public virtual helpers::Object
/**
* Formats an object into a string buffer.
* @param obj event to format, may not be null.
- * @param toAppendTo string buffer to which the formatted event will be appended. May not be null.
- * @param p pool for any allocations necessary during formatting.
+ * @param toAppendTo string buffer to which the formatted event will be appended. May not be null.
*/
virtual void format(const helpers::ObjectPtr& obj,
- LogString& toAppendTo,
- helpers::Pool& p) const = 0;
+ LogString& toAppendTo) const = 0;
/**
* This method returns the name of the conversion pattern.
diff --git a/src/main/include/log4cxx/patternlayout.h b/src/main/include/log4cxx/patternlayout.h
index e11917bf..bf03655d 100644
--- a/src/main/include/log4cxx/patternlayout.h
+++ b/src/main/include/log4cxx/patternlayout.h
@@ -484,7 +484,7 @@ class LOG4CXX_EXPORT PatternLayout : public Layout
Calls createPatternParser
*/
- void activateOptions(helpers::Pool& p) override;
+ void activateOptions() override;
/**
\copybrief spi::OptionHandler::setOption()
diff --git a/src/main/include/log4cxx/private/appenderskeleton_priv.h b/src/main/include/log4cxx/private/appenderskeleton_priv.h
index cba7bec4..a7f90a58 100644
--- a/src/main/include/log4cxx/private/appenderskeleton_priv.h
+++ b/src/main/include/log4cxx/private/appenderskeleton_priv.h
@@ -68,7 +68,6 @@ struct AppenderSkeleton::AppenderSkeletonPrivate
*/
bool closed;
- LOG4CXX_NS::helpers::Pool pool;
mutable std::recursive_mutex mutex;
bool warnedClosed = false;
diff --git a/src/main/include/log4cxx/private/writerappender_priv.h b/src/main/include/log4cxx/private/writerappender_priv.h
index c9484299..de1def48 100644
--- a/src/main/include/log4cxx/private/writerappender_priv.h
+++ b/src/main/include/log4cxx/private/writerappender_priv.h
@@ -53,7 +53,7 @@ struct WriterAppender::WriterAppenderPriv : public AppenderSkeleton::AppenderSke
{
std::lock_guard<std::recursive_mutex> lock(mutex);
if (writer)
- writer->flush(pool);
+ writer->flush();
}
/**
diff --git a/src/main/include/log4cxx/rolling/action.h b/src/main/include/log4cxx/rolling/action.h
index c89077f9..8ae6933f 100644
--- a/src/main/include/log4cxx/rolling/action.h
+++ b/src/main/include/log4cxx/rolling/action.h
@@ -55,9 +55,9 @@ class Action : public virtual LOG4CXX_NS::helpers::Object
*
* @return true if successful.
*/
- virtual bool execute(LOG4CXX_NS::helpers::Pool& pool) const = 0;
+ virtual bool execute() const = 0;
- void run(LOG4CXX_NS::helpers::Pool& pool);
+ void run();
void close();
diff --git a/src/main/include/log4cxx/rolling/filerenameaction.h b/src/main/include/log4cxx/rolling/filerenameaction.h
index e17c8d99..9ef6164b 100644
--- a/src/main/include/log4cxx/rolling/filerenameaction.h
+++ b/src/main/include/log4cxx/rolling/filerenameaction.h
@@ -49,7 +49,7 @@ class FileRenameAction : public Action
*
* @return true if successful.
*/
- bool execute(LOG4CXX_NS::helpers::Pool& pool) const override;
+ bool execute() const override;
};
LOG4CXX_PTR_DEF(FileRenameAction);
diff --git a/src/main/include/log4cxx/rolling/filterbasedtriggeringpolicy.h b/src/main/include/log4cxx/rolling/filterbasedtriggeringpolicy.h
index 8ff908ee..5b708aaf 100644
--- a/src/main/include/log4cxx/rolling/filterbasedtriggeringpolicy.h
+++ b/src/main/include/log4cxx/rolling/filterbasedtriggeringpolicy.h
@@ -29,11 +29,6 @@ namespace LOG4CXX_NS
class File;
-namespace helpers
-{
-class Pool;
-}
-
namespace rolling
{
@@ -105,7 +100,7 @@ class LOG4CXX_EXPORT FilterBasedTriggeringPolicy : public TriggeringPolicy
Activates all attached filters.
*/
- void activateOptions(helpers::Pool&) override;
+ void activateOptions() override;
/**
\copybrief spi::OptionHandler::setOption()
diff --git a/src/main/include/log4cxx/rolling/fixedwindowrollingpolicy.h b/src/main/include/log4cxx/rolling/fixedwindowrollingpolicy.h
index 13e54da4..afd4405b 100644
--- a/src/main/include/log4cxx/rolling/fixedwindowrollingpolicy.h
+++ b/src/main/include/log4cxx/rolling/fixedwindowrollingpolicy.h
@@ -26,11 +26,6 @@
namespace LOG4CXX_NS
{
-namespace helpers
-{
-class Pool;
-}
-
namespace rolling
{
@@ -83,7 +78,7 @@ class LOG4CXX_EXPORT FixedWindowRollingPolicy : public RollingPolicyBase
*/
enum { MAX_WINDOW_SIZE = 12 };
- bool purge(int purgeStart, int maxIndex, LOG4CXX_NS::helpers::Pool& p) const;
+ bool purge(int purgeStart, int maxIndex) const;
public:
@@ -97,7 +92,7 @@ class LOG4CXX_EXPORT FixedWindowRollingPolicy : public RollingPolicyBase
\sa RollingPolicyBase::activateOptions()
*/
- void activateOptions(helpers::Pool& p) override;
+ void activateOptions() override;
/**
\copybrief RollingPolicyBase::setOption()
@@ -126,16 +121,14 @@ class LOG4CXX_EXPORT FixedWindowRollingPolicy : public 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;
protected:
/**
diff --git a/src/main/include/log4cxx/rolling/gzcompressaction.h b/src/main/include/log4cxx/rolling/gzcompressaction.h
index 92184f5d..18b7ae0c 100644
--- a/src/main/include/log4cxx/rolling/gzcompressaction.h
+++ b/src/main/include/log4cxx/rolling/gzcompressaction.h
@@ -50,7 +50,7 @@ class GZCompressAction : public Action
*
* @return true if successful.
*/
- bool execute(LOG4CXX_NS::helpers::Pool& pool) const override;
+ bool execute() const override;
/**
* Set to true to throw an IOException on a fork failure. By default, this
diff --git a/src/main/include/log4cxx/rolling/manualtriggeringpolicy.h b/src/main/include/log4cxx/rolling/manualtriggeringpolicy.h
index abdffdf0..859ed051 100644
--- a/src/main/include/log4cxx/rolling/manualtriggeringpolicy.h
+++ b/src/main/include/log4cxx/rolling/manualtriggeringpolicy.h
@@ -72,7 +72,7 @@ class LOG4CXX_EXPORT ManualTriggeringPolicy : public TriggeringPolicy
No action is performed in this implementation.
*/
- void activateOptions(helpers::Pool&) override;
+ void activateOptions() override;
/**
\copybrief spi::OptionHandler::setOption()
diff --git a/src/main/include/log4cxx/rolling/rollingpolicy.h b/src/main/include/log4cxx/rolling/rollingpolicy.h
index 9d2dcc04..3eec13f9 100644
--- a/src/main/include/log4cxx/rolling/rollingpolicy.h
+++ b/src/main/include/log4cxx/rolling/rollingpolicy.h
@@ -50,16 +50,14 @@ class LOG4CXX_EXPORT RollingPolicy :
* Initialize the policy and return any initial actions for rolling file appender.
*
* @param currentActiveFile current value of RollingFileAppender.getFile().
- * @param append current value of RollingFileAppender.getAppend().
- * @param pool pool for memory allocations during call.
+ * @param append current value of RollingFileAppender.getAppend().
* @return Description of the initialization, may be null to indicate
* no initialization needed.
* @throws SecurityException if denied access to log files.
*/
virtual RolloverDescriptionPtr initialize(
const LogString& currentActiveFile,
- const bool append,
- LOG4CXX_NS::helpers::Pool& pool) = 0;
+ const bool append) = 0;
/**
* Prepare for a rollover. This method is called prior to
@@ -68,16 +66,14 @@ class LOG4CXX_EXPORT RollingPolicy :
* after close of current log file.
*
* @param currentActiveFile file name for current active log file.
- * @param append current value of the parent FileAppender.getAppend().
- * @param pool pool for memory allocations during call.
+ * @param append current value of the parent FileAppender.getAppend().
* @return Description of pending rollover, may be null to indicate no rollover
* at this time.
* @throws SecurityException if denied access to log files.
*/
virtual RolloverDescriptionPtr rollover(
const LogString& currentActiveFile,
- const bool append,
- LOG4CXX_NS::helpers::Pool& pool) = 0;
+ const bool append) = 0;
};
LOG4CXX_PTR_DEF(RollingPolicy);
diff --git a/src/main/include/log4cxx/rolling/rollingpolicybase.h b/src/main/include/log4cxx/rolling/rollingpolicybase.h
index 9399286f..a5a0d0c0 100644
--- a/src/main/include/log4cxx/rolling/rollingpolicybase.h
+++ b/src/main/include/log4cxx/rolling/rollingpolicybase.h
@@ -64,7 +64,7 @@ class LOG4CXX_EXPORT RollingPolicyBase :
\sa RollingPolicy::activateOptions()
*/
- void activateOptions(helpers::Pool& p) override;
+ void activateOptions() override;
/**
A map from a name to the object implementing the (date or index) formatting.
@@ -114,11 +114,10 @@ class LOG4CXX_EXPORT RollingPolicyBase :
* Format file name.
*
* @param obj object to be evaluted in formatting, may not be null.
- * @param buf string buffer to which formatted file name is appended, may not be null.
- * @param p memory pool.
+ * @param buf string buffer to which formatted file name is appended, may not be null.
*/
void formatFileName(const helpers::ObjectPtr& obj,
- LogString& buf, helpers::Pool& p) const;
+ LogString& buf) const;
LOG4CXX_NS::pattern::PatternConverterPtr getIntegerPatternConverter() const;
LOG4CXX_NS::pattern::PatternConverterPtr getDatePatternConverter() const;
diff --git a/src/main/include/log4cxx/rolling/sizebasedtriggeringpolicy.h b/src/main/include/log4cxx/rolling/sizebasedtriggeringpolicy.h
index f26effc5..4c01bf20 100644
--- a/src/main/include/log4cxx/rolling/sizebasedtriggeringpolicy.h
+++ b/src/main/include/log4cxx/rolling/sizebasedtriggeringpolicy.h
@@ -79,7 +79,7 @@ class LOG4CXX_EXPORT SizeBasedTriggeringPolicy : public TriggeringPolicy
No action is performed in this implementation.
*/
- void activateOptions(helpers::Pool&) override;
+ void activateOptions() override;
/**
\copybrief spi::OptionHandler::setOption()
diff --git a/src/main/include/log4cxx/rolling/zipcompressaction.h b/src/main/include/log4cxx/rolling/zipcompressaction.h
index fd3d0a37..1cbc71a6 100644
--- a/src/main/include/log4cxx/rolling/zipcompressaction.h
+++ b/src/main/include/log4cxx/rolling/zipcompressaction.h
@@ -49,7 +49,7 @@ class ZipCompressAction : public Action
*
* @return true if successful.
*/
- bool execute(LOG4CXX_NS::helpers::Pool& pool) const override;
+ bool execute() const override;
/**
* Set to true to throw an IOException on a fork failure. By default, this
diff --git a/src/main/include/log4cxx/spi/filter.h b/src/main/include/log4cxx/spi/filter.h
index 04163a18..59386741 100644
--- a/src/main/include/log4cxx/spi/filter.h
+++ b/src/main/include/log4cxx/spi/filter.h
@@ -107,7 +107,7 @@ class LOG4CXX_EXPORT Filter : public virtual OptionHandler
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/spi/optionhandler.h b/src/main/include/log4cxx/spi/optionhandler.h
index 7ae414ad..731d1996 100644
--- a/src/main/include/log4cxx/spi/optionhandler.h
+++ b/src/main/include/log4cxx/spi/optionhandler.h
@@ -49,7 +49,7 @@ class LOG4CXX_EXPORT OptionHandler : public virtual helpers::Object
the <code>File</code> and <b>Append</b> options both of
which are ambigous until the other is also set.
*/
- virtual void activateOptions(helpers::Pool& p) = 0;
+ virtual void activateOptions() = 0;
/**
diff --git a/src/main/include/log4cxx/varia/fallbackerrorhandler.h b/src/main/include/log4cxx/varia/fallbackerrorhandler.h
index a2ac5b6b..71072bc2 100644
--- a/src/main/include/log4cxx/varia/fallbackerrorhandler.h
+++ b/src/main/include/log4cxx/varia/fallbackerrorhandler.h
@@ -65,7 +65,7 @@ class LOG4CXX_EXPORT FallbackErrorHandler :
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/writerappender.h b/src/main/include/log4cxx/writerappender.h
index c4645096..bbd4d0aa 100644
--- a/src/main/include/log4cxx/writerappender.h
+++ b/src/main/include/log4cxx/writerappender.h
@@ -58,7 +58,7 @@ class LOG4CXX_EXPORT WriterAppender : public AppenderSkeleton
Derived appenders should override this method if option structure
requires it.
*/
- void activateOptions(helpers::Pool& pool) override;
+ void activateOptions() override;
/**
If the <b>ImmediateFlush</b> option is set to
@@ -92,7 +92,7 @@ class LOG4CXX_EXPORT WriterAppender : public AppenderSkeleton
layout.
*/
- void append(const spi::LoggingEventPtr& event, helpers::Pool& p) override;
+ void append(const spi::LoggingEventPtr& event) override;
protected:
@@ -173,18 +173,18 @@ class LOG4CXX_EXPORT WriterAppender : public AppenderSkeleton
/**
Actual writing occurs here.
*/
- virtual void subAppend(const spi::LoggingEventPtr& event, helpers::Pool& p);
+ virtual void subAppend(const spi::LoggingEventPtr& event);
/**
Write a footer as produced by the embedded layout's
Layout#appendFooter method. */
- virtual void writeFooter(helpers::Pool& p);
+ virtual void writeFooter();
/**
Write a header as produced by the embedded layout's
Layout#appendHeader method. */
- virtual void writeHeader(helpers::Pool& p);
+ virtual void writeHeader();
/**
* Set the writer. Mutex must already be held.
diff --git a/src/test/cpp/util/compare.cpp b/src/test/cpp/util/compare.cpp
index d71f5471..7e1d1b25 100644
--- a/src/test/cpp/util/compare.cpp
+++ b/src/test/cpp/util/compare.cpp
@@ -28,15 +28,13 @@ using namespace log4cxx::helpers;
bool Compare::compare(const File& file1, const File& file2)
{
- Pool pool;
InputStreamPtr fileIn1 = InputStreamPtr( new FileInputStream(file1) );
InputStreamReaderPtr reader1 = InputStreamReaderPtr( new InputStreamReader(fileIn1) );
- LogString in1(reader1->read(pool));
+ LogString in1(reader1->read());
- Pool pool2;
InputStreamPtr fileIn2 = InputStreamPtr( new FileInputStream(file2) );
InputStreamReaderPtr reader2 = InputStreamReaderPtr( new InputStreamReader(fileIn2) );
- LogString in2(reader2->read(pool2));
+ LogString in2(reader2->read());
LogString back1(in1);
LogString back2(in2);
@@ -61,7 +59,7 @@ bool Compare::compare(const File& file1, const File& file2)
msg += LOG4CXX_STR("] and [");
msg += file2.getPath();
msg += LOG4CXX_STR("] differ on line ");
- StringHelper::toString(lineCounter, pool, msg);
+ StringHelper::toString(lineCounter, msg);
msg += LOG4CXX_EOL;
msg += LOG4CXX_STR("One reads: [");
msg += s1;
@@ -73,8 +71,8 @@ bool Compare::compare(const File& file1, const File& file2)
msg += LOG4CXX_EOL;
emit(msg);
- outputFile(file1, back1, pool);
- outputFile(file2, back2, pool);
+ outputFile(file1, back1);
+ outputFile(file2, back2);
return false;
}
@@ -90,8 +88,8 @@ bool Compare::compare(const File& file1, const File& file2)
msg += LOG4CXX_STR("].");
msg += LOG4CXX_EOL;
emit(msg);
- outputFile(file1, back1, pool);
- outputFile(file2, back2, pool);
+ outputFile(file1, back1);
+ outputFile(file2, back2);
return false;
}
@@ -100,8 +98,7 @@ bool Compare::compare(const File& file1, const File& file2)
}
void Compare::outputFile(const File& file,
- const LogString& contents,
- log4cxx::helpers::Pool& pool)
+ const LogString& contents)
{
int lineCounter = 0;
emit(LOG4CXX_STR("--------------------------------"));
@@ -118,7 +115,7 @@ void Compare::outputFile(const File& file,
{
lineCounter++;
LogString line;
- StringHelper::toString(lineCounter, pool, line);
+ StringHelper::toString(lineCounter, line);
emit(line);
if (lineCounter < 10)
@@ -145,7 +142,7 @@ void Compare::outputFile(const File& file,
void Compare::emit(const LogString& s1)
{
- SystemOutWriter::write(s1);
+ SystemOutWriter::write_raw(s1);
}
diff --git a/src/test/cpp/util/compare.h b/src/test/cpp/util/compare.h
index be807c66..602c40cf 100644
--- a/src/test/cpp/util/compare.h
+++ b/src/test/cpp/util/compare.h
@@ -34,8 +34,7 @@ class Compare
private:
/// Prints file on the console.
static void outputFile(const File& file,
- const LogString& contents,
- log4cxx::helpers::Pool& pool);
+ const LogString& contents);
static void emit(const LogString& line);
static bool getline(LogString& buf, LogString& line);
diff --git a/src/test/cpp/vectorappender.cpp b/src/test/cpp/vectorappender.cpp
index e01dbad8..d2309d9e 100644
--- a/src/test/cpp/vectorappender.cpp
+++ b/src/test/cpp/vectorappender.cpp
@@ -23,7 +23,7 @@ using namespace log4cxx::helpers;
IMPLEMENT_LOG4CXX_OBJECT(VectorAppender)
-void VectorAppender::append(const spi::LoggingEventPtr& event, Pool& /*p*/)
+void VectorAppender::append(const spi::LoggingEventPtr& event)
{
if (0 < this->appendMillisecondDelay)
std::this_thread::sleep_for( std::chrono::milliseconds( this->appendMillisecondDelay ) );
diff --git a/src/test/cpp/vectorappender.h b/src/test/cpp/vectorappender.h
index 0d379fd4..edc936a7 100644
--- a/src/test/cpp/vectorappender.h
+++ b/src/test/cpp/vectorappender.h
@@ -43,7 +43,7 @@ class VectorAppender : public AppenderSkeleton
This method is called by the AppenderSkeleton#doAppend
method.
*/
- void append(const spi::LoggingEventPtr& event, log4cxx::helpers::Pool& p) override;
+ void append(const spi::LoggingEventPtr& event) override;
const std::vector<spi::LoggingEventPtr>& getVector() const
{