Resolve conflicts with ghpr_14_replace-ant-build-with-cmake
diff --git a/pom.xml b/pom.xml
index 7952eb0..0413e80 100644
--- a/pom.xml
+++ b/pom.xml
@@ -310,7 +310,7 @@
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
- <version>2.3</version>
+ <version>3.2.0</version>
<configuration>
<descriptors>
<descriptor>src/assembly/source.xml</descriptor>
@@ -320,8 +320,9 @@
</configuration>
<executions>
<execution>
+ <phase>package</phase>
<goals>
- <goal>assembly</goal>
+ <goal>single</goal>
</goals>
</execution>
</executions>
diff --git a/src/examples/cpp/delayedloop.cpp b/src/examples/cpp/delayedloop.cpp
index ff785d5..194473a 100644
--- a/src/examples/cpp/delayedloop.cpp
+++ b/src/examples/cpp/delayedloop.cpp
@@ -93,7 +93,7 @@
{
apr_sleep(1000000);
}
- catch(std::exception& e)
+ catch(std::exception&)
{
}
}
diff --git a/src/main/cpp/appenderattachableimpl.cpp b/src/main/cpp/appenderattachableimpl.cpp
index 92c4fad..ad85216 100644
--- a/src/main/cpp/appenderattachableimpl.cpp
+++ b/src/main/cpp/appenderattachableimpl.cpp
@@ -73,7 +73,7 @@
(*it)->doAppend(event, p);
}
- return appenderList.size();
+ return (int)appenderList.size();
}
AppenderList AppenderAttachableImpl::getAllAppenders() const
diff --git a/src/main/cpp/asyncappender.cpp b/src/main/cpp/asyncappender.cpp
index 603b42c..20b80b7 100644
--- a/src/main/cpp/asyncappender.cpp
+++ b/src/main/cpp/asyncappender.cpp
@@ -143,9 +143,9 @@
while (true)
{
- int previousSize = buffer.size();
+ size_t previousSize = buffer.size();
- if (previousSize < bufferSize)
+ if (previousSize < (size_t)bufferSize)
{
buffer.push_back(event);
@@ -175,7 +175,7 @@
bufferNotFull.await(bufferMutex);
discard = false;
}
- catch (InterruptedException& e)
+ catch (InterruptedException&)
{
//
// reset interrupt status so
@@ -442,7 +442,7 @@
}
}
}
- catch (InterruptedException& ex)
+ catch (InterruptedException&)
{
Thread::currentThreadInterrupt();
}
diff --git a/src/main/cpp/bytearrayinputstream.cpp b/src/main/cpp/bytearrayinputstream.cpp
index ee89744..566cffa 100644
--- a/src/main/cpp/bytearrayinputstream.cpp
+++ b/src/main/cpp/bytearrayinputstream.cpp
@@ -57,6 +57,6 @@
memcpy(dst.current(), &buf[pos], bytesCopied);
pos += bytesCopied;
dst.position(dst.position() + bytesCopied);
- return bytesCopied;
+ return (int)bytesCopied;
}
}
diff --git a/src/main/cpp/cacheddateformat.cpp b/src/main/cpp/cacheddateformat.cpp
index 713086c..37fa8ea 100644
--- a/src/main/cpp/cacheddateformat.cpp
+++ b/src/main/cpp/cacheddateformat.cpp
@@ -169,7 +169,7 @@
// the millis can occur everywhere in formatted. See LOGCXX-420 and following.
size_t magicLength = magicString.length();
size_t overlapping = magicString.find(plusMagic[i]);
- int possibleRetVal = i - overlapping;
+ int possibleRetVal = int(i - overlapping);
if (plusZero.length() == formatted.length()
&& regionMatches(magicString, 0, plusMagic, possibleRetVal, magicLength)
diff --git a/src/main/cpp/charsetdecoder.cpp b/src/main/cpp/charsetdecoder.cpp
index 1736414..395ee75 100644
--- a/src/main/cpp/charsetdecoder.cpp
+++ b/src/main/cpp/charsetdecoder.cpp
@@ -471,7 +471,7 @@
Transcoder::decode(encoding, e);
decoder = getDecoder(e);
}
- catch (IllegalArgumentException& ex)
+ catch (IllegalArgumentException&)
{
decoder = new USASCIICharsetDecoder();
}
diff --git a/src/main/cpp/charsetencoder.cpp b/src/main/cpp/charsetencoder.cpp
index 6d6e309..1d4fd75 100644
--- a/src/main/cpp/charsetencoder.cpp
+++ b/src/main/cpp/charsetencoder.cpp
@@ -501,7 +501,7 @@
{
encoder = CharsetEncoder::getEncoder(ename);
}
- catch (IllegalArgumentException& ex)
+ catch (IllegalArgumentException&)
{
encoder = new USASCIICharsetEncoder();
}
diff --git a/src/main/cpp/classnamepatternconverter.cpp b/src/main/cpp/classnamepatternconverter.cpp
index 7d9c72e..e39027a 100644
--- a/src/main/cpp/classnamepatternconverter.cpp
+++ b/src/main/cpp/classnamepatternconverter.cpp
@@ -55,7 +55,7 @@
LogString& toAppendTo,
Pool& /* p */) const
{
- int initialLength = toAppendTo.length();
+ int initialLength = (int)toAppendTo.length();
append(toAppendTo, event->getLocationInformation().getClassName());
abbreviate(initialLength, toAppendTo);
}
diff --git a/src/main/cpp/fileappender.cpp b/src/main/cpp/fileappender.cpp
index b83f0e1..8d678d4 100644
--- a/src/main/cpp/fileappender.cpp
+++ b/src/main/cpp/fileappender.cpp
@@ -306,7 +306,7 @@
{
outStream = new FileOutputStream(filename, append1);
}
- catch (IOException& ex)
+ catch (IOException&)
{
LogString parentName = File().setPath(filename).getParent(p);
@@ -353,7 +353,7 @@
this->fileAppend = append1;
this->bufferedIO = bufferedIO1;
this->fileName = filename;
- this->bufferSize = bufferSize1;
+ this->bufferSize = (int)bufferSize1;
writeHeader(p);
}
diff --git a/src/main/cpp/fileinputstream.cpp b/src/main/cpp/fileinputstream.cpp
index c177362..c075193 100644
--- a/src/main/cpp/fileinputstream.cpp
+++ b/src/main/cpp/fileinputstream.cpp
@@ -107,7 +107,7 @@
}
buf.position(buf.position() + bytesRead);
- retval = bytesRead;
+ retval = (int)bytesRead;
}
return retval;
diff --git a/src/main/cpp/filewatchdog.cpp b/src/main/cpp/filewatchdog.cpp
index beea70d..b2771ff 100644
--- a/src/main/cpp/filewatchdog.cpp
+++ b/src/main/cpp/filewatchdog.cpp
@@ -46,7 +46,7 @@
thread.interrupt();
thread.join();
}
- catch (Exception& e)
+ catch (Exception&)
{
}
}
@@ -91,7 +91,7 @@
Thread::sleep(pThis->delay);
pThis->checkAndConfigure();
}
- catch (InterruptedException& ex)
+ catch (InterruptedException&)
{
interrupted = apr_atomic_read32(&pThis->interrupted);
}
diff --git a/src/main/cpp/fixedwindowrollingpolicy.cpp b/src/main/cpp/fixedwindowrollingpolicy.cpp
index 4f03e10..0cd9cea 100644
--- a/src/main/cpp/fixedwindowrollingpolicy.cpp
+++ b/src/main/cpp/fixedwindowrollingpolicy.cpp
@@ -332,7 +332,7 @@
return false;
}
}
- catch (std::exception& ex)
+ catch (std::exception&)
{
LogLog::warn(LOG4CXX_STR("Exception during purge in RollingFileAppender"));
diff --git a/src/main/cpp/formattinginfo.cpp b/src/main/cpp/formattinginfo.cpp
index f91eb3f..c20347b 100644
--- a/src/main/cpp/formattinginfo.cpp
+++ b/src/main/cpp/formattinginfo.cpp
@@ -56,7 +56,7 @@
*/
void FormattingInfo::format(const int fieldStart, LogString& buffer) const
{
- int rawLength = buffer.length() - fieldStart;
+ int rawLength = int(buffer.length() - fieldStart);
if (rawLength > maxLength)
{
diff --git a/src/main/cpp/hierarchy.cpp b/src/main/cpp/hierarchy.cpp
index b406e19..ee6d417 100644
--- a/src/main/cpp/hierarchy.cpp
+++ b/src/main/cpp/hierarchy.cpp
@@ -345,7 +345,7 @@
{
synchronized sync(mutex);
const LogString name(logger->getName());
- int length = name.size();
+ size_t length = name.size();
bool parentFound = false;
diff --git a/src/main/cpp/loader.cpp b/src/main/cpp/loader.cpp
index c8081de..cc1bec9 100644
--- a/src/main/cpp/loader.cpp
+++ b/src/main/cpp/loader.cpp
@@ -67,7 +67,7 @@
{
return new FileInputStream(name);
}
- catch (const IOException& ioex)
+ catch (const IOException&)
{
}
diff --git a/src/main/cpp/loggerpatternconverter.cpp b/src/main/cpp/loggerpatternconverter.cpp
index c5b38de..f9c0246 100644
--- a/src/main/cpp/loggerpatternconverter.cpp
+++ b/src/main/cpp/loggerpatternconverter.cpp
@@ -54,7 +54,7 @@
LogString& toAppendTo,
Pool& /* p */ ) const
{
- int initialLength = toAppendTo.length();
+ int initialLength = (int)toAppendTo.length();
toAppendTo.append(event->getLoggerName());
abbreviate(initialLength, toAppendTo);
}
diff --git a/src/main/cpp/logstream.cpp b/src/main/cpp/logstream.cpp
index ca5d045..de9a763 100644
--- a/src/main/cpp/logstream.cpp
+++ b/src/main/cpp/logstream.cpp
@@ -109,7 +109,7 @@
{
get_stream_state(initclear, initset, fillchar, fillset);
initset.precision(p);
- int oldVal = initclear.precision(p);
+ int oldVal = (int)initclear.precision(p);
refresh_stream_state();
return oldVal;
}
@@ -117,14 +117,14 @@
int log4cxx::logstream_base::precision()
{
get_stream_state(initclear, initset, fillchar, fillset);
- return initclear.precision();
+ return (int)initclear.precision();
}
int log4cxx::logstream_base::width(int w)
{
get_stream_state(initclear, initset, fillchar, fillset);
initset.width(w);
- int oldVal = initclear.width(w);
+ int oldVal = (int)initclear.width(w);
refresh_stream_state();
return oldVal;
}
@@ -132,7 +132,7 @@
int log4cxx::logstream_base::width()
{
get_stream_state(initclear, initset, fillchar, fillset);
- return initclear.width();
+ return (int)initclear.width();
}
int log4cxx::logstream_base::fill(int newfill)
@@ -306,10 +306,10 @@
std::ios_base::fmtflags flags = stream->flags();
base.flags(flags);
mask.flags(flags);
- int width = stream->width();
+ int width = (int)stream->width();
base.width(width);
mask.width(width);
- int precision = stream->precision();
+ int precision = (int)stream->precision();
base.precision(precision);
mask.precision(precision);
fill = stream->fill();
@@ -435,10 +435,10 @@
std::ios_base::fmtflags flags = stream->flags();
base.flags(flags);
mask.flags(flags);
- int width = stream->width();
+ int width = (int)stream->width();
base.width(width);
mask.width(width);
- int precision = stream->precision();
+ int precision = (int)stream->precision();
base.precision(precision);
mask.precision(precision);
fill = stream->fill();
diff --git a/src/main/cpp/ndc.cpp b/src/main/cpp/ndc.cpp
index 87dfece..597f0fc 100644
--- a/src/main/cpp/ndc.cpp
+++ b/src/main/cpp/ndc.cpp
@@ -119,7 +119,7 @@
if (data != 0)
{
- size = data->getStack().size();
+ size = (int)data->getStack().size();
if (size == 0)
{
diff --git a/src/main/cpp/odbcappender.cpp b/src/main/cpp/odbcappender.cpp
index 7832762..6bfa519 100644
--- a/src/main/cpp/odbcappender.cpp
+++ b/src/main/cpp/odbcappender.cpp
@@ -187,7 +187,7 @@
throw SQLException(SQL_HANDLE_STMT, stmt, "Failed to execute sql statement.", p);
}
}
- catch (SQLException& e)
+ catch (SQLException&)
{
if (stmt != SQL_NULL_HSTMT)
{
diff --git a/src/main/cpp/optionconverter.cpp b/src/main/cpp/optionconverter.cpp
index 3325cc2..71a1513 100644
--- a/src/main/cpp/optionconverter.cpp
+++ b/src/main/cpp/optionconverter.cpp
@@ -187,14 +187,13 @@
const size_t DELIM_START_LEN = 2;
const size_t DELIM_STOP_LEN = 1;
- int i = 0;
- int j, k;
+ size_t i = 0;
while (true)
{
- j = val.find(delimStart, i);
+ size_t j = val.find(delimStart, i);
- if (j == -1)
+ if (j == val.npos)
{
// no more variables
if (i == 0)
@@ -212,9 +211,9 @@
else
{
sbuf.append(val.substr(i, j - i));
- k = val.find(delimStop, j);
+ size_t k = val.find(delimStop, j);
- if (k == -1)
+ if (k == val.npos)
{
LogString msg(1, (logchar) 0x22 /* '\"' */);
msg.append(val);
diff --git a/src/main/cpp/patternlayout.cpp b/src/main/cpp/patternlayout.cpp
index 1ba79ec..e3bd201 100644
--- a/src/main/cpp/patternlayout.cpp
+++ b/src/main/cpp/patternlayout.cpp
@@ -89,7 +89,7 @@
converterIter != patternConverters.end();
converterIter++, formatterIter++)
{
- int startField = output.length();
+ int startField = (int)output.length();
(*converterIter)->format(event, output, pool);
(*formatterIter)->format(startField, output);
}
diff --git a/src/main/cpp/patternparser.cpp b/src/main/cpp/patternparser.cpp
index 121e2b3..6e45fde 100644
--- a/src/main/cpp/patternparser.cpp
+++ b/src/main/cpp/patternparser.cpp
@@ -55,7 +55,7 @@
|| (ch == 0x5F /* '_' */);
}
-int PatternParser::extractConverter(
+size_t PatternParser::extractConverter(
logchar lastChar, const LogString& pattern,
LogString::size_type i, LogString& convBuf,
LogString& currentLiteral)
@@ -92,14 +92,14 @@
}
-int PatternParser::extractOptions(const LogString& pattern, LogString::size_type i,
+size_t PatternParser::extractOptions(const LogString& pattern, LogString::size_type i,
std::vector<LogString>& options)
{
while ((i < pattern.length()) && (pattern[i] == 0x7B /* '{' */))
{
- int end = pattern.find(0x7D /* '}' */, i);
+ size_t end = pattern.find(0x7D /* '}' */, i);
- if (end == -1)
+ if (end == pattern.npos)
{
break;
}
@@ -121,10 +121,10 @@
LogString currentLiteral;
- int patternLength = pattern.length();
+ size_t patternLength = pattern.length();
int state = LITERAL_STATE;
logchar c;
- int i = 0;
+ size_t i = 0;
FormattingInfoPtr formattingInfo(FormattingInfo::getDefault());
while (i < patternLength)
@@ -318,7 +318,7 @@
LogString converterName(converterId);
- for (int i = converterId.length(); i > 0; i--)
+ for (size_t i = converterId.length(); i > 0; i--)
{
converterName = converterName.substr(0, i);
PatternMap::const_iterator iter = rules.find(converterName);
@@ -337,8 +337,8 @@
return converterObj;
}
-int PatternParser::finalizeConverter(
- logchar c, const LogString& pattern, int i,
+size_t PatternParser::finalizeConverter(
+ logchar c, const LogString& pattern, size_t i,
LogString& currentLiteral, const FormattingInfoPtr& formattingInfo,
const PatternMap& rules,
std::vector<PatternConverterPtr>& patternConverters,
diff --git a/src/main/cpp/propertyconfigurator.cpp b/src/main/cpp/propertyconfigurator.cpp
index 56eb1d2..905f968 100644
--- a/src/main/cpp/propertyconfigurator.cpp
+++ b/src/main/cpp/propertyconfigurator.cpp
@@ -111,7 +111,7 @@
InputStreamPtr inputStream = new FileInputStream(configFileName);
props.load(inputStream);
}
- catch (const IOException& ie)
+ catch (const IOException&)
{
LogLog::error(((LogString) LOG4CXX_STR("Could not read configuration file ["))
+ configFileName.getPath() + LOG4CXX_STR("]."));
diff --git a/src/main/cpp/propertysetter.cpp b/src/main/cpp/propertysetter.cpp
index c1ce878..a21a186 100644
--- a/src/main/cpp/propertysetter.cpp
+++ b/src/main/cpp/propertysetter.cpp
@@ -48,7 +48,7 @@
const LogString& prefix,
Pool& p)
{
- int len = prefix.length();
+ size_t len = prefix.length();
std::vector<LogString> names = properties.propertyNames();
std::vector<LogString>::iterator it;
diff --git a/src/main/cpp/rollingfileappender.cpp b/src/main/cpp/rollingfileappender.cpp
index 638dd23..dfabb3b 100644
--- a/src/main/cpp/rollingfileappender.cpp
+++ b/src/main/cpp/rollingfileappender.cpp
@@ -139,7 +139,7 @@
FileAppender::activateOptions(p);
}
- catch (std::exception& ex)
+ catch (std::exception&)
{
LogLog::warn(
LogString(LOG4CXX_STR("Exception will initializing RollingFileAppender named "))
@@ -301,7 +301,7 @@
{
success = rollover1->getSynchronous()->execute(p);
}
- catch (std::exception& ex)
+ catch (std::exception&)
{
LogLog::warn(LOG4CXX_STR("Exception on rollover"));
}
@@ -357,7 +357,7 @@
{
success = rollover1->getSynchronous()->execute(p);
}
- catch (std::exception& ex)
+ catch (std::exception&)
{
LogLog::warn(LOG4CXX_STR("Exception during rollover"));
}
@@ -394,7 +394,7 @@
return true;
}
}
- catch (std::exception& ex)
+ catch (std::exception&)
{
LogLog::warn(LOG4CXX_STR("Exception during rollover"));
}
@@ -452,7 +452,7 @@
_event = &(const_cast<LoggingEventPtr&>(event));
rollover(p);
}
- catch (std::exception& ex)
+ catch (std::exception&)
{
LogLog::warn(LOG4CXX_STR("Exception during rollover attempt."));
}
diff --git a/src/main/cpp/socketappender.cpp b/src/main/cpp/socketappender.cpp
index 06d7b39..5b3e158 100644
--- a/src/main/cpp/socketappender.cpp
+++ b/src/main/cpp/socketappender.cpp
@@ -96,7 +96,7 @@
oos->close(p);
oos = 0;
}
- catch (std::exception& e)
+ catch (std::exception&)
{}
}
diff --git a/src/main/cpp/telnetappender.cpp b/src/main/cpp/telnetappender.cpp
index 438616c..79b6edc 100644
--- a/src/main/cpp/telnetappender.cpp
+++ b/src/main/cpp/telnetappender.cpp
@@ -137,7 +137,7 @@
{
sh.join();
}
- catch (Exception& ex)
+ catch (Exception&)
{
}
@@ -158,7 +158,7 @@
ByteBuffer b(buf.current(), buf.remaining());
(*iter)->write(b);
}
- catch (Exception& ex)
+ catch (Exception&)
{
// The client has closed the connection, remove it from our list:
*iter = 0;
@@ -279,7 +279,7 @@
pThis->writeStatus(newClient, oss, p);
}
}
- catch (InterruptedIOException& e)
+ catch (InterruptedIOException&)
{
if (pThis->closed)
{
diff --git a/src/main/cpp/xmlsocketappender.cpp b/src/main/cpp/xmlsocketappender.cpp
index fe83c4d..98356db 100644
--- a/src/main/cpp/xmlsocketappender.cpp
+++ b/src/main/cpp/xmlsocketappender.cpp
@@ -99,7 +99,7 @@
writer->close(p);
writer = 0;
}
- catch (std::exception& e)
+ catch (std::exception&)
{
}
}
diff --git a/src/main/include/log4cxx/consoleappender.h b/src/main/include/log4cxx/consoleappender.h
index d30fef4..51e0c21 100644
--- a/src/main/include/log4cxx/consoleappender.h
+++ b/src/main/include/log4cxx/consoleappender.h
@@ -20,6 +20,11 @@
#include <log4cxx/writerappender.h>
+#if defined(_MSC_VER)
+#pragma warning ( push )
+#pragma warning ( disable: 4251 )
+#endif
+
namespace log4cxx
{
@@ -74,5 +79,9 @@
LOG4CXX_PTR_DEF(ConsoleAppender);
} //namespace log4cxx
+#if defined(_MSC_VER)
+#pragma warning (pop)
+#endif
+
#endif //_LOG4CXX_CONSOLE_APPENDER_H
diff --git a/src/main/include/log4cxx/file.h b/src/main/include/log4cxx/file.h
index 13847d5..661484c 100644
--- a/src/main/include/log4cxx/file.h
+++ b/src/main/include/log4cxx/file.h
@@ -21,6 +21,11 @@
#include <log4cxx/logger.h>
#include <log4cxx/logstring.h>
+#if defined(_MSC_VER)
+#pragma warning ( push )
+#pragma warning ( disable: 4251 )
+#endif
+
extern "C" {
struct apr_file_t;
struct apr_finfo_t;
@@ -184,6 +189,10 @@
} // namespace log4cxx
+#if defined(_MSC_VER)
+#pragma warning (pop)
+#endif
+
#define LOG4CXX_FILE(name) log4cxx::File(name)
#endif // _LOG4CXX_FILE_H
diff --git a/src/main/include/log4cxx/fileappender.h b/src/main/include/log4cxx/fileappender.h
index 468f135..3cdcaca 100644
--- a/src/main/include/log4cxx/fileappender.h
+++ b/src/main/include/log4cxx/fileappender.h
@@ -24,6 +24,11 @@
#include <log4cxx/file.h>
#include <log4cxx/helpers/pool.h>
+#if defined(_MSC_VER)
+#pragma warning ( push )
+#pragma warning ( disable: 4251 )
+#endif
+
namespace log4cxx
{
namespace helpers
@@ -236,4 +241,8 @@
} // namespace log4cxx
+#if defined(_MSC_VER)
+#pragma warning (pop)
+#endif
+
#endif
diff --git a/src/main/include/log4cxx/filter/stringmatchfilter.h b/src/main/include/log4cxx/filter/stringmatchfilter.h
index a244e3c..0e1745c 100644
--- a/src/main/include/log4cxx/filter/stringmatchfilter.h
+++ b/src/main/include/log4cxx/filter/stringmatchfilter.h
@@ -20,6 +20,11 @@
#include <log4cxx/spi/filter.h>
+#if defined(_MSC_VER)
+#pragma warning ( push )
+#pragma warning ( disable: 4251 )
+#endif
+
namespace log4cxx
{
namespace filter
@@ -97,4 +102,8 @@
} // namespace filter
} // namespace log4cxx
+#if defined(_MSC_VER)
+#pragma warning (pop)
+#endif
+
#endif // _LOG4CXX_FILTER_STRING_MATCH_FILTER_H
diff --git a/src/main/include/log4cxx/helpers/bufferedwriter.h b/src/main/include/log4cxx/helpers/bufferedwriter.h
index 2ed9f2c..a193221 100644
--- a/src/main/include/log4cxx/helpers/bufferedwriter.h
+++ b/src/main/include/log4cxx/helpers/bufferedwriter.h
@@ -20,6 +20,11 @@
#include <log4cxx/helpers/writer.h>
+#if defined(_MSC_VER)
+#pragma warning ( push )
+#pragma warning ( disable: 4251 )
+#endif
+
namespace log4cxx
{
@@ -61,4 +66,8 @@
} //namespace log4cxx
+#if defined(_MSC_VER)
+#pragma warning (pop)
+#endif
+
#endif //_LOG4CXX_HELPERS_BUFFEREDWRITER_H
diff --git a/src/main/include/log4cxx/helpers/cacheddateformat.h b/src/main/include/log4cxx/helpers/cacheddateformat.h
index 2f4cb7b..703b8ce 100644
--- a/src/main/include/log4cxx/helpers/cacheddateformat.h
+++ b/src/main/include/log4cxx/helpers/cacheddateformat.h
@@ -20,6 +20,11 @@
#include <log4cxx/helpers/dateformat.h>
+#if defined(_MSC_VER)
+#pragma warning ( push )
+#pragma warning ( disable: 4251 )
+#endif
+
namespace log4cxx
{
namespace pattern
@@ -223,4 +228,8 @@
} // namespace helpers
} // namespace log4cxx
+#if defined(_MSC_VER)
+#pragma warning (pop)
+#endif
+
#endif // _LOG4CXX_HELPERS_SIMPLE_DATE_FORMAT_H
diff --git a/src/main/include/log4cxx/helpers/datelayout.h b/src/main/include/log4cxx/helpers/datelayout.h
index 6796d9f..39e5c3f 100644
--- a/src/main/include/log4cxx/helpers/datelayout.h
+++ b/src/main/include/log4cxx/helpers/datelayout.h
@@ -22,6 +22,11 @@
#include <log4cxx/helpers/dateformat.h>
#include <log4cxx/helpers/timezone.h>
+#if defined(_MSC_VER)
+#pragma warning ( push )
+#pragma warning ( disable: 4251 )
+#endif
+
namespace log4cxx
{
namespace helpers
@@ -96,4 +101,8 @@
} // namespace helpers
} // namespace log4cxx
+#if defined(_MSC_VER)
+#pragma warning (pop)
+#endif
+
#endif // _LOG4CXX_HELPERS_DATE_LAYOUT_H
diff --git a/src/main/include/log4cxx/helpers/exception.h b/src/main/include/log4cxx/helpers/exception.h
index 0a1a8b0..2749544 100644
--- a/src/main/include/log4cxx/helpers/exception.h
+++ b/src/main/include/log4cxx/helpers/exception.h
@@ -22,6 +22,11 @@
#include <log4cxx/log4cxx.h>
#include <log4cxx/logstring.h>
+#ifdef _MSC_VER
+ #pragma warning ( push )
+ #pragma warning (disable : 4251 4275) // ::std::exception needs to have dll-interface
+#endif
+
namespace log4cxx
{
namespace helpers
@@ -288,4 +293,8 @@
} // namespace helpers
} // namespace log4cxx
+#if defined(_MSC_VER)
+ #pragma warning (pop)
+#endif
+
#endif // _LOG4CXX_HELPERS_EXCEPTION_H
diff --git a/src/main/include/log4cxx/helpers/locale.h b/src/main/include/log4cxx/helpers/locale.h
index 5e86079..0ea8610 100644
--- a/src/main/include/log4cxx/helpers/locale.h
+++ b/src/main/include/log4cxx/helpers/locale.h
@@ -20,6 +20,11 @@
#include <log4cxx/logstring.h>
+#if defined(_MSC_VER)
+#pragma warning ( push )
+#pragma warning ( disable: 4251 )
+#endif
+
namespace log4cxx
{
namespace helpers
@@ -46,4 +51,8 @@
} // namespace helpers
} // namespace log4cxx
+#if defined(_MSC_VER)
+#pragma warning (pop)
+#endif
+
#endif // _LOG4CXX_HELPERS_LOCALE_H
diff --git a/src/main/include/log4cxx/helpers/messagebuffer.h b/src/main/include/log4cxx/helpers/messagebuffer.h
index f3ed836..8b226ff 100644
--- a/src/main/include/log4cxx/helpers/messagebuffer.h
+++ b/src/main/include/log4cxx/helpers/messagebuffer.h
@@ -22,6 +22,11 @@
#include <log4cxx/logstring.h>
#include <sstream>
+#if defined(_MSC_VER)
+ #pragma warning ( push )
+ #pragma warning ( disable: 4251 4275 )
+#endif
+
namespace log4cxx
{
@@ -837,5 +842,10 @@
}
}
+
+#if defined(_MSC_VER)
+ #pragma warning (pop)
+#endif
+
#endif
diff --git a/src/main/include/log4cxx/helpers/onlyonceerrorhandler.h b/src/main/include/log4cxx/helpers/onlyonceerrorhandler.h
index e817812..a29ecf2 100644
--- a/src/main/include/log4cxx/helpers/onlyonceerrorhandler.h
+++ b/src/main/include/log4cxx/helpers/onlyonceerrorhandler.h
@@ -21,6 +21,11 @@
#include <log4cxx/spi/errorhandler.h>
#include <log4cxx/helpers/objectimpl.h>
+#ifdef _MSC_VER
+#pragma warning ( push )
+#pragma warning (disable : 4251) // ::std::exception needs to have dll-interface
+#endif
+
namespace log4cxx
{
namespace helpers
@@ -99,5 +104,9 @@
} // namespace helpers
} // namespace log4cxx
+#if defined(_MSC_VER)
+#pragma warning (pop)
+#endif
+
#endif //_LOG4CXX_HELPERS_ONLY_ONCE_ERROR_HANDLER_H
diff --git a/src/main/include/log4cxx/helpers/strftimedateformat.h b/src/main/include/log4cxx/helpers/strftimedateformat.h
index a9b3ff7..9f7e20d 100644
--- a/src/main/include/log4cxx/helpers/strftimedateformat.h
+++ b/src/main/include/log4cxx/helpers/strftimedateformat.h
@@ -20,6 +20,11 @@
#include <log4cxx/helpers/dateformat.h>
+#if defined(_MSC_VER)
+#pragma warning ( push )
+#pragma warning ( disable: 4251 )
+#endif
+
namespace log4cxx
{
namespace helpers
@@ -65,4 +70,8 @@
} // namespace helpers
} // namespace log4cxx
+#if defined(_MSC_VER)
+#pragma warning (pop)
+#endif
+
#endif // _LOG4CXX_HELPERS_STRFTIME_DATE_FORMAT_H
diff --git a/src/main/include/log4cxx/helpers/stringtokenizer.h b/src/main/include/log4cxx/helpers/stringtokenizer.h
index f227724..608fa4e 100644
--- a/src/main/include/log4cxx/helpers/stringtokenizer.h
+++ b/src/main/include/log4cxx/helpers/stringtokenizer.h
@@ -21,6 +21,11 @@
#include <log4cxx/logstring.h>
#include <log4cxx/helpers/exception.h>
+#if defined(_MSC_VER)
+#pragma warning ( push )
+#pragma warning ( disable: 4251 )
+#endif
+
namespace log4cxx
{
namespace helpers
@@ -46,4 +51,8 @@
} // namespace helpers;
} // namespace log4cxx;
+#if defined(_MSC_VER)
+#pragma warning (pop)
+#endif
+
#endif //_LOG4CXX_HELPERS_STRING_TOKENIZER_H
diff --git a/src/main/include/log4cxx/helpers/syslogwriter.h b/src/main/include/log4cxx/helpers/syslogwriter.h
index faeb565..46a259f 100644
--- a/src/main/include/log4cxx/helpers/syslogwriter.h
+++ b/src/main/include/log4cxx/helpers/syslogwriter.h
@@ -23,6 +23,11 @@
#include <log4cxx/helpers/inetaddress.h>
#include <log4cxx/helpers/datagramsocket.h>
+#if defined(_MSC_VER)
+#pragma warning ( push )
+#pragma warning ( disable: 4251 )
+#endif
+
namespace log4cxx
{
namespace helpers
@@ -47,4 +52,8 @@
} // namespace helpers
} // namespace log4cxx
+#if defined(_MSC_VER)
+#pragma warning (pop)
+#endif
+
#endif
diff --git a/src/main/include/log4cxx/helpers/threadspecificdata.h b/src/main/include/log4cxx/helpers/threadspecificdata.h
index 66b8307..f6fcae0 100644
--- a/src/main/include/log4cxx/helpers/threadspecificdata.h
+++ b/src/main/include/log4cxx/helpers/threadspecificdata.h
@@ -21,6 +21,10 @@
#include <log4cxx/ndc.h>
#include <log4cxx/mdc.h>
+#if defined(_MSC_VER)
+#pragma warning ( push )
+#pragma warning ( disable: 4251 )
+#endif
namespace log4cxx
{
@@ -64,4 +68,8 @@
} // namespace helpers
} // namespace log4cxx
+#if defined(_MSC_VER)
+#pragma warning (pop)
+#endif
+
#endif
diff --git a/src/main/include/log4cxx/helpers/timezone.h b/src/main/include/log4cxx/helpers/timezone.h
index 1a105d0..8a6f4bd 100644
--- a/src/main/include/log4cxx/helpers/timezone.h
+++ b/src/main/include/log4cxx/helpers/timezone.h
@@ -22,6 +22,11 @@
#include <log4cxx/helpers/objectimpl.h>
#include <log4cxx/helpers/objectptr.h>
+#if defined(_MSC_VER)
+#pragma warning ( push )
+#pragma warning ( disable: 4251 )
+#endif
+
struct apr_time_exp_t;
namespace log4cxx
@@ -68,4 +73,8 @@
}
}
+#if defined(_MSC_VER)
+#pragma warning (pop)
+#endif
+
#endif //_LOG4CXX_HELPERS_TIMEZONE_H
diff --git a/src/main/include/log4cxx/jsonlayout.h b/src/main/include/log4cxx/jsonlayout.h
index dd997d1..f49daed 100644
--- a/src/main/include/log4cxx/jsonlayout.h
+++ b/src/main/include/log4cxx/jsonlayout.h
@@ -22,6 +22,10 @@
#include <log4cxx/helpers/iso8601dateformat.h>
#include <log4cxx/spi/loggingevent.h>
+#if defined(_MSC_VER)
+#pragma warning ( push )
+#pragma warning ( disable: 4251 )
+#endif
namespace log4cxx
@@ -135,5 +139,8 @@
LOG4CXX_PTR_DEF(JSONLayout);
} // namespace log4cxx
+#if defined(_MSC_VER)
+#pragma warning (pop)
+#endif
#endif // _LOG4CXX_JSON_LAYOUT_H
diff --git a/src/main/include/log4cxx/level.h b/src/main/include/log4cxx/level.h
index 034fb89..18ee6a1 100644
--- a/src/main/include/log4cxx/level.h
+++ b/src/main/include/log4cxx/level.h
@@ -24,6 +24,10 @@
#include <log4cxx/helpers/objectimpl.h>
#include <log4cxx/helpers/objectptr.h>
+#if defined(_MSC_VER)
+#pragma warning ( push )
+#pragma warning ( disable: 4251 )
+#endif
namespace log4cxx
{
@@ -330,5 +334,8 @@
#define IMPLEMENT_LOG4CXX_LEVEL(level) \
IMPLEMENT_LOG4CXX_OBJECT_WITH_CUSTOM_CLASS(level, Class##level)
+#if defined(_MSC_VER)
+ #pragma warning (pop)
+#endif
#endif //_LOG4CXX_LEVEL_H
diff --git a/src/main/include/log4cxx/logstring.h b/src/main/include/log4cxx/logstring.h
index 37b201b..f854fc3 100644
--- a/src/main/include/log4cxx/logstring.h
+++ b/src/main/include/log4cxx/logstring.h
@@ -37,8 +37,6 @@
}
#endif
-
-
namespace log4cxx
{
diff --git a/src/main/include/log4cxx/mdc.h b/src/main/include/log4cxx/mdc.h
index 6088099..49214cf 100644
--- a/src/main/include/log4cxx/mdc.h
+++ b/src/main/include/log4cxx/mdc.h
@@ -18,17 +18,18 @@
#ifndef _LOG4CXX_MDC_H
#define _LOG4CXX_MDC_H
+#include <log4cxx/log4cxx.h>
+#include <log4cxx/logstring.h>
+#include <map>
+
#if defined(_MSC_VER)
#pragma warning (push)
#pragma warning ( disable: 4231 4251 4275 4786 )
#endif
-#include <log4cxx/log4cxx.h>
-#include <log4cxx/logstring.h>
-#include <map>
-
namespace log4cxx
{
+
/**
The MDC class is similar to the {@link log4cxx::NDC NDC} class except that it is
based on a map instead of a stack. It provides <em>mapped
diff --git a/src/main/include/log4cxx/ndc.h b/src/main/include/log4cxx/ndc.h
index ec3c65a..704e0a7 100644
--- a/src/main/include/log4cxx/ndc.h
+++ b/src/main/include/log4cxx/ndc.h
@@ -18,17 +18,18 @@
#ifndef _LOG4CXX_NDC_H
#define _LOG4CXX_NDC_H
+#include <log4cxx/log4cxx.h>
+#include <log4cxx/logstring.h>
+#include <stack>
+
#if defined(_MSC_VER)
#pragma warning ( push )
#pragma warning ( disable: 4231 4251 4275 4786 )
#endif
-#include <log4cxx/log4cxx.h>
-#include <log4cxx/logstring.h>
-#include <stack>
-
namespace log4cxx
{
+
/**
the ndc class implements <i>nested diagnostic contexts</i> as
defined by neil harrison in the article "patterns for logging
diff --git a/src/main/include/log4cxx/net/smtpappender.h b/src/main/include/log4cxx/net/smtpappender.h
index 35e1d59..fb1b275 100644
--- a/src/main/include/log4cxx/net/smtpappender.h
+++ b/src/main/include/log4cxx/net/smtpappender.h
@@ -23,6 +23,11 @@
#include <log4cxx/helpers/cyclicbuffer.h>
#include <log4cxx/spi/triggeringeventevaluator.h>
+#if defined(_MSC_VER)
+#pragma warning ( push )
+#pragma warning ( disable: 4251 )
+#endif
+
namespace log4cxx
{
namespace net
@@ -282,4 +287,8 @@
} // namespace net
} // namespace log4cxx
+#if defined(_MSC_VER)
+#pragma warning (pop)
+#endif
+
#endif // _LOG4CXX_NET_SMTP_H
diff --git a/src/main/include/log4cxx/net/socketappenderskeleton.h b/src/main/include/log4cxx/net/socketappenderskeleton.h
index 5f2b162..5772796 100644
--- a/src/main/include/log4cxx/net/socketappenderskeleton.h
+++ b/src/main/include/log4cxx/net/socketappenderskeleton.h
@@ -23,6 +23,11 @@
#include <log4cxx/helpers/thread.h>
#include <log4cxx/helpers/objectoutputstream.h>
+#if defined(_MSC_VER)
+#pragma warning ( push )
+#pragma warning ( disable: 4251 )
+#endif
+
namespace log4cxx
{
@@ -193,5 +198,9 @@
} // namespace net
} // namespace log4cxx
+#if defined(_MSC_VER)
+#pragma warning (pop)
+#endif
+
#endif // _LOG4CXX_NET_SOCKET_APPENDER_SKELETON_H
diff --git a/src/main/include/log4cxx/net/syslogappender.h b/src/main/include/log4cxx/net/syslogappender.h
index 94df945..d044ec5 100644
--- a/src/main/include/log4cxx/net/syslogappender.h
+++ b/src/main/include/log4cxx/net/syslogappender.h
@@ -21,6 +21,11 @@
#include <log4cxx/appenderskeleton.h>
#include <log4cxx/helpers/syslogwriter.h>
+#if defined(_MSC_VER)
+#pragma warning ( push )
+#pragma warning ( disable: 4251 )
+#endif
+
namespace log4cxx
{
namespace net
@@ -148,5 +153,9 @@
} // namespace net
} // namespace log4cxx
+#if defined(_MSC_VER)
+#pragma warning (pop)
+#endif
+
#endif // _LOG4CXX_NET_SYSLOG_APPENDER_H
diff --git a/src/main/include/log4cxx/nt/nteventlogappender.h b/src/main/include/log4cxx/nt/nteventlogappender.h
index a0ca67b..0e55a27 100644
--- a/src/main/include/log4cxx/nt/nteventlogappender.h
+++ b/src/main/include/log4cxx/nt/nteventlogappender.h
@@ -20,6 +20,11 @@
#include <log4cxx/appenderskeleton.h>
+#if defined(_MSC_VER)
+#pragma warning ( push )
+#pragma warning ( disable: 4251 )
+#endif
+
namespace log4cxx
{
@@ -122,4 +127,7 @@
} // namespace nt
} // namespace log4cxx
+#if defined(_MSC_VER)
+#pragma warning (pop)
+#endif
#endif //_LOG4CXX_NT_EVENT_LOG_APPENDER_HEADER_
diff --git a/src/main/include/log4cxx/pattern/literalpatternconverter.h b/src/main/include/log4cxx/pattern/literalpatternconverter.h
index 283e445..0eb2702 100644
--- a/src/main/include/log4cxx/pattern/literalpatternconverter.h
+++ b/src/main/include/log4cxx/pattern/literalpatternconverter.h
@@ -20,6 +20,11 @@
#include <log4cxx/pattern/loggingeventpatternconverter.h>
+#if defined(_MSC_VER)
+#pragma warning ( push )
+#pragma warning ( disable: 4251 )
+#endif
+
namespace log4cxx
{
namespace pattern
@@ -68,5 +73,10 @@
}
}
+
+#if defined(_MSC_VER)
+#pragma warning (pop)
+#endif
+
#endif
diff --git a/src/main/include/log4cxx/pattern/patternparser.h b/src/main/include/log4cxx/pattern/patternparser.h
index 7f58470..39f4529 100644
--- a/src/main/include/log4cxx/pattern/patternparser.h
+++ b/src/main/include/log4cxx/pattern/patternparser.h
@@ -90,7 +90,7 @@
* @param currentLiteral literal to be output in case format specifier in unrecognized.
* @return position in pattern after converter.
*/
- static int extractConverter(
+ static size_t extractConverter(
logchar lastChar, const LogString& pattern,
LogString::size_type i, LogString& convBuf,
LogString& currentLiteral);
@@ -102,7 +102,7 @@
* @param options array to receive extracted options
* @return position in pattern after options.
*/
- static int extractOptions(const LogString& pattern, LogString::size_type i,
+ static size_t extractOptions(const LogString& pattern, LogString::size_type i,
std::vector<LogString>& options);
public:
@@ -150,8 +150,8 @@
* @param formattingInfos list to receive corresponding field specifier.
* @return position after format specifier sequence.
*/
- static int finalizeConverter(
- logchar c, const LogString& pattern, int i,
+ static size_t finalizeConverter(
+ logchar c, const LogString& pattern, size_t i,
LogString& currentLiteral, const FormattingInfoPtr& formattingInfo,
const PatternMap& rules,
std::vector<PatternConverterPtr>& patternConverters,
diff --git a/src/main/include/log4cxx/rolling/timebasedrollingpolicy.h b/src/main/include/log4cxx/rolling/timebasedrollingpolicy.h
index 92e757c..e51dd56 100755
--- a/src/main/include/log4cxx/rolling/timebasedrollingpolicy.h
+++ b/src/main/include/log4cxx/rolling/timebasedrollingpolicy.h
@@ -26,6 +26,11 @@
#include <log4cxx/helpers/outputstream.h>
#include <apr_mmap.h>
+#if defined(_MSC_VER)
+#pragma warning ( push )
+#pragma warning ( disable: 4251 )
+#endif
+
namespace log4cxx
{
@@ -292,5 +297,9 @@
}
}
+#if defined(_MSC_VER)
+#pragma warning ( pop )
+#endif
+
#endif
diff --git a/src/test/cpp/asyncappendertestcase.cpp b/src/test/cpp/asyncappendertestcase.cpp
index d2b4b41..6661e4f 100644
--- a/src/test/cpp/asyncappendertestcase.cpp
+++ b/src/test/cpp/asyncappendertestcase.cpp
@@ -113,202 +113,187 @@
*/
class AsyncAppenderTestCase : public AppenderSkeletonTestCase
{
- LOGUNIT_TEST_SUITE(AsyncAppenderTestCase);
- //
- // tests inherited from AppenderSkeletonTestCase
- //
- LOGUNIT_TEST(testDefaultThreshold);
- LOGUNIT_TEST(testSetOptionThreshold);
+ LOGUNIT_TEST_SUITE(AsyncAppenderTestCase);
+ //
+ // tests inherited from AppenderSkeletonTestCase
+ //
+ LOGUNIT_TEST(testDefaultThreshold);
+ LOGUNIT_TEST(testSetOptionThreshold);
- LOGUNIT_TEST(closeTest);
- LOGUNIT_TEST(test2);
- LOGUNIT_TEST(test3);
- //
- // TODO: test fails on Linux.
- //LOGUNIT_TEST(testBadAppender);
- LOGUNIT_TEST(testLocationInfoTrue);
- LOGUNIT_TEST(testConfiguration);
- LOGUNIT_TEST_SUITE_END();
+ LOGUNIT_TEST(closeTest);
+ LOGUNIT_TEST(test2);
+ LOGUNIT_TEST(test3);
+ //
+ // TODO: test fails on Linux.
+ //LOGUNIT_TEST(testBadAppender);
+ LOGUNIT_TEST(testLocationInfoTrue);
+ LOGUNIT_TEST(testConfiguration);
+ LOGUNIT_TEST_SUITE_END();
- public:
- void setUp()
- {
- AppenderSkeletonTestCase::setUp();
- }
+public:
+ void setUp() {
+ AppenderSkeletonTestCase::setUp();
+ }
- void tearDown()
- {
- LogManager::shutdown();
- AppenderSkeletonTestCase::tearDown();
- }
+ void tearDown()
+ {
+ LogManager::shutdown();
+ AppenderSkeletonTestCase::tearDown();
+ }
- AppenderSkeleton* createAppenderSkeleton() const
- {
- return new AsyncAppender();
- }
+ AppenderSkeleton* createAppenderSkeleton() const {
+ return new AsyncAppender();
+ }
- // this test checks whether it is possible to write to a closed AsyncAppender
- void closeTest()
- {
- LoggerPtr root = Logger::getRootLogger();
- LayoutPtr layout = new SimpleLayout();
- VectorAppenderPtr vectorAppender = new VectorAppender();
- AsyncAppenderPtr asyncAppender = new AsyncAppender();
- asyncAppender->setName(LOG4CXX_STR("async-CloseTest"));
- asyncAppender->addAppender(vectorAppender);
- root->addAppender(asyncAppender);
+ // this test checks whether it is possible to write to a closed AsyncAppender
+ void closeTest()
+ {
+ LoggerPtr root = Logger::getRootLogger();
+ LayoutPtr layout = new SimpleLayout();
+ VectorAppenderPtr vectorAppender = new VectorAppender();
+ AsyncAppenderPtr asyncAppender = new AsyncAppender();
+ asyncAppender->setName(LOG4CXX_STR("async-CloseTest"));
+ asyncAppender->addAppender(vectorAppender);
+ root->addAppender(asyncAppender);
- root->debug(LOG4CXX_TEST_STR("m1"));
- asyncAppender->close();
- root->debug(LOG4CXX_TEST_STR("m2"));
+ root->debug(LOG4CXX_TEST_STR("m1"));
+ asyncAppender->close();
+ root->debug(LOG4CXX_TEST_STR("m2"));
- const std::vector<spi::LoggingEventPtr>& v = vectorAppender->getVector();
- LOGUNIT_ASSERT_EQUAL((size_t) 1, v.size());
- }
+ const std::vector<spi::LoggingEventPtr>& v = vectorAppender->getVector();
+ LOGUNIT_ASSERT_EQUAL((size_t) 1, v.size());
+ }
- // this test checks whether appenders embedded within an AsyncAppender are also
- // closed
- void test2()
- {
- LoggerPtr root = Logger::getRootLogger();
- LayoutPtr layout = new SimpleLayout();
- VectorAppenderPtr vectorAppender = new VectorAppender();
- AsyncAppenderPtr asyncAppender = new AsyncAppender();
- asyncAppender->setName(LOG4CXX_STR("async-test2"));
- asyncAppender->addAppender(vectorAppender);
- root->addAppender(asyncAppender);
+ // this test checks whether appenders embedded within an AsyncAppender are also
+ // closed
+ void test2()
+ {
+ LoggerPtr root = Logger::getRootLogger();
+ LayoutPtr layout = new SimpleLayout();
+ VectorAppenderPtr vectorAppender = new VectorAppender();
+ AsyncAppenderPtr asyncAppender = new AsyncAppender();
+ asyncAppender->setName(LOG4CXX_STR("async-test2"));
+ asyncAppender->addAppender(vectorAppender);
+ root->addAppender(asyncAppender);
- root->debug(LOG4CXX_TEST_STR("m1"));
- asyncAppender->close();
- root->debug(LOG4CXX_TEST_STR("m2"));
+ root->debug(LOG4CXX_TEST_STR("m1"));
+ asyncAppender->close();
+ root->debug(LOG4CXX_TEST_STR("m2"));
- const std::vector<spi::LoggingEventPtr>& v = vectorAppender->getVector();
- LOGUNIT_ASSERT_EQUAL((size_t) 1, v.size());
- LOGUNIT_ASSERT(vectorAppender->isClosed());
- }
+ const std::vector<spi::LoggingEventPtr>& v = vectorAppender->getVector();
+ LOGUNIT_ASSERT_EQUAL((size_t) 1, v.size());
+ LOGUNIT_ASSERT(vectorAppender->isClosed());
+ }
- // this test checks whether appenders embedded within an AsyncAppender are also
- // closed
- void test3()
- {
- size_t LEN = 200;
- LoggerPtr root = Logger::getRootLogger();
- VectorAppenderPtr vectorAppender = new VectorAppender();
- AsyncAppenderPtr asyncAppender = new AsyncAppender();
- asyncAppender->setName(LOG4CXX_STR("async-test3"));
- asyncAppender->addAppender(vectorAppender);
- root->addAppender(asyncAppender);
+ // this test checks whether appenders embedded within an AsyncAppender are also
+ // closed
+ void test3()
+ {
+ size_t LEN = 200;
+ LoggerPtr root = Logger::getRootLogger();
+ VectorAppenderPtr vectorAppender = new VectorAppender();
+ AsyncAppenderPtr asyncAppender = new AsyncAppender();
+ asyncAppender->setName(LOG4CXX_STR("async-test3"));
+ asyncAppender->addAppender(vectorAppender);
+ root->addAppender(asyncAppender);
- for (size_t i = 0; i < LEN; i++)
- {
- LOG4CXX_DEBUG(root, "message" << i);
- }
+ for (size_t i = 0; i < LEN; i++) {
+ LOG4CXX_DEBUG(root, "message" << i);
+ }
- asyncAppender->close();
- root->debug(LOG4CXX_TEST_STR("m2"));
+ asyncAppender->close();
+ root->debug(LOG4CXX_TEST_STR("m2"));
- const std::vector<spi::LoggingEventPtr>& v = vectorAppender->getVector();
- LOGUNIT_ASSERT_EQUAL(LEN, v.size());
- LOGUNIT_ASSERT_EQUAL(true, vectorAppender->isClosed());
- }
-
- /**
- * Tests that a bad appender will switch async back to sync.
- */
- void testBadAppender()
- {
- AppenderPtr nullPointerAppender = new NullPointerAppender();
- AsyncAppenderPtr asyncAppender = new AsyncAppender();
- asyncAppender->addAppender(nullPointerAppender);
- asyncAppender->setBufferSize(5);
- Pool p;
- asyncAppender->activateOptions(p);
- LoggerPtr root = Logger::getRootLogger();
- root->addAppender(asyncAppender);
- LOG4CXX_INFO(root, "Message");
- Thread::sleep(10);
-
- try
- {
- LOG4CXX_INFO(root, "Message");
- LOGUNIT_FAIL("Should have thrown exception");
- }
- catch (NullPointerException& ex)
- {
- }
- }
-
- /**
- * Tests non-blocking behavior.
- */
- void testLocationInfoTrue()
- {
- BlockableVectorAppenderPtr blockableAppender = new BlockableVectorAppender();
- AsyncAppenderPtr async = new AsyncAppender();
- async->addAppender(blockableAppender);
- async->setBufferSize(5);
- async->setLocationInfo(true);
- async->setBlocking(false);
- Pool p;
- async->activateOptions(p);
- LoggerPtr rootLogger = Logger::getRootLogger();
- rootLogger->addAppender(async);
- {
- synchronized sync(blockableAppender->getBlocker());
-
- for (int i = 0; i < 140; i++)
- {
- LOG4CXX_INFO(rootLogger, "Hello, World");
- Thread::sleep(1);
- }
-
- LOG4CXX_ERROR(rootLogger, "That's all folks.");
- }
- async->close();
- const std::vector<spi::LoggingEventPtr>& events = blockableAppender->getVector();
- LOGUNIT_ASSERT(events.size() > 0);
- LoggingEventPtr initialEvent = events[0];
- LoggingEventPtr discardEvent = events[events.size() - 1];
- LOGUNIT_ASSERT(initialEvent->getMessage() == LOG4CXX_STR("Hello, World"));
- LOGUNIT_ASSERT(discardEvent->getMessage().substr(0, 10) == LOG4CXX_STR("Discarded "));
- LOGUNIT_ASSERT_EQUAL(log4cxx::spi::LocationInfo::getLocationUnavailable().getClassName(),
- discardEvent->getLocationInformation().getClassName());
- }
-
- void testConfiguration()
- {
- log4cxx::xml::DOMConfigurator::configure("input/xml/asyncAppender1.xml");
- AsyncAppenderPtr asyncAppender(Logger::getRootLogger()->getAppender(LOG4CXX_STR("ASYNC")));
- LOGUNIT_ASSERT(!(asyncAppender == 0));
- LOGUNIT_ASSERT_EQUAL(100, asyncAppender->getBufferSize());
- LOGUNIT_ASSERT_EQUAL(false, asyncAppender->getBlocking());
- LOGUNIT_ASSERT_EQUAL(true, asyncAppender->getLocationInfo());
- AppenderList nestedAppenders(asyncAppender->getAllAppenders());
- // TODO:
- // test seems to work okay, but have not found a working way to
- // get a reference to the nested vector appender
- //
- // LOGUNIT_ASSERT_EQUAL((size_t) 1, nestedAppenders.size());
- // VectorAppenderPtr vectorAppender(nestedAppenders[0]);
- // LOGUNIT_ASSERT(0 != vectorAppender);
- LoggerPtr root(Logger::getRootLogger());
-
- size_t LEN = 20;
-
- for (size_t i = 0; i < LEN; i++)
- {
- LOG4CXX_DEBUG(root, "message" << i);
- }
-
- asyncAppender->close();
- // const std::vector<spi::LoggingEventPtr>& v = vectorAppender->getVector();
- // LOGUNIT_ASSERT_EQUAL(LEN, v.size());
- // LOGUNIT_ASSERT_EQUAL(true, vectorAppender->isClosed());
- }
+ const std::vector<spi::LoggingEventPtr>& v = vectorAppender->getVector();
+ LOGUNIT_ASSERT_EQUAL(LEN, v.size());
+ LOGUNIT_ASSERT_EQUAL(true, vectorAppender->isClosed());
+ }
+
+ /**
+ * Tests that a bad appender will switch async back to sync.
+ */
+ void testBadAppender() {
+ AppenderPtr nullPointerAppender = new NullPointerAppender();
+ AsyncAppenderPtr asyncAppender = new AsyncAppender();
+ asyncAppender->addAppender(nullPointerAppender);
+ asyncAppender->setBufferSize(5);
+ Pool p;
+ asyncAppender->activateOptions(p);
+ LoggerPtr root = Logger::getRootLogger();
+ root->addAppender(asyncAppender);
+ LOG4CXX_INFO(root, "Message");
+ Thread::sleep(10);
+ try {
+ LOG4CXX_INFO(root, "Message");
+ LOGUNIT_FAIL("Should have thrown exception");
+ } catch(NullPointerException&) {
+ }
+ }
+
+ /**
+ * Tests non-blocking behavior.
+ */
+ void testLocationInfoTrue() {
+ BlockableVectorAppenderPtr blockableAppender = new BlockableVectorAppender();
+ AsyncAppenderPtr async = new AsyncAppender();
+ async->addAppender(blockableAppender);
+ async->setBufferSize(5);
+ async->setLocationInfo(true);
+ async->setBlocking(false);
+ Pool p;
+ async->activateOptions(p);
+ LoggerPtr rootLogger = Logger::getRootLogger();
+ rootLogger->addAppender(async);
+ {
+ synchronized sync(blockableAppender->getBlocker());
+ for (int i = 0; i < 140; i++) {
+ LOG4CXX_INFO(rootLogger, "Hello, World");
+ Thread::sleep(1);
+ }
+ LOG4CXX_ERROR(rootLogger, "That's all folks.");
+ }
+ async->close();
+ const std::vector<spi::LoggingEventPtr>& events = blockableAppender->getVector();
+ LOGUNIT_ASSERT(events.size() > 0);
+ LoggingEventPtr initialEvent = events[0];
+ LoggingEventPtr discardEvent = events[events.size() - 1];
+ LOGUNIT_ASSERT(initialEvent->getMessage() == LOG4CXX_STR("Hello, World"));
+ LOGUNIT_ASSERT(discardEvent->getMessage().substr(0,10) == LOG4CXX_STR("Discarded "));
+ LOGUNIT_ASSERT_EQUAL(log4cxx::spi::LocationInfo::getLocationUnavailable().getClassName(),
+ discardEvent->getLocationInformation().getClassName());
+ }
+
+ void testConfiguration() {
+ log4cxx::xml::DOMConfigurator::configure("input/xml/asyncAppender1.xml");
+ AsyncAppenderPtr asyncAppender(Logger::getRootLogger()->getAppender(LOG4CXX_STR("ASYNC")));
+ LOGUNIT_ASSERT(!(asyncAppender == 0));
+ LOGUNIT_ASSERT_EQUAL(100, asyncAppender->getBufferSize());
+ LOGUNIT_ASSERT_EQUAL(false, asyncAppender->getBlocking());
+ LOGUNIT_ASSERT_EQUAL(true, asyncAppender->getLocationInfo());
+ AppenderList nestedAppenders(asyncAppender->getAllAppenders());
+ // TODO:
+ // test seems to work okay, but have not found a working way to
+ // get a reference to the nested vector appender
+ //
+// LOGUNIT_ASSERT_EQUAL((size_t) 1, nestedAppenders.size());
+// VectorAppenderPtr vectorAppender(nestedAppenders[0]);
+// LOGUNIT_ASSERT(0 != vectorAppender);
+ LoggerPtr root(Logger::getRootLogger());
+
+ size_t LEN = 20;
+ for (size_t i = 0; i < LEN; i++) {
+ LOG4CXX_DEBUG(root, "message" << i);
+ }
+
+ asyncAppender->close();
+// const std::vector<spi::LoggingEventPtr>& v = vectorAppender->getVector();
+// LOGUNIT_ASSERT_EQUAL(LEN, v.size());
+// LOGUNIT_ASSERT_EQUAL(true, vectorAppender->isClosed());
+ }
-};
+};
LOGUNIT_TEST_SUITE_REGISTRATION(AsyncAppenderTestCase);
#endif
diff --git a/src/test/cpp/util/serializationtesthelper.cpp b/src/test/cpp/util/serializationtesthelper.cpp
index b495499..6c82e91 100644
--- a/src/test/cpp/util/serializationtesthelper.cpp
+++ b/src/test/cpp/util/serializationtesthelper.cpp
@@ -67,14 +67,14 @@
return false;
}
- int endScan = actual.size();
+ size_t endScan = actual.size();
if (endScan > endCompare)
{
endScan = endCompare;
}
- for (int i = 0; i < endScan; i++)
+ for (size_t i = 0; i < endScan; i++)
{
if (((unsigned char) expected[i]) != actual[i])
{