Author: carnold
Date: Wed Jun 18 15:18:45 2008
New Revision: 669316
URL: http://svn.apache.org/viewvc?rev=669316&view=rev
Log:
LOGCXX-249: ConsoleAppender crashes if layout is not set
Modified:
logging/log4cxx/trunk/src/changes/changes.xml
logging/log4cxx/trunk/src/main/cpp/writerappender.cpp
logging/log4cxx/trunk/src/test/cpp/consoleappendertestcase.cpp
Modified: logging/log4cxx/trunk/src/changes/changes.xml
URL:
http://svn.apache.org/viewvc/logging/log4cxx/trunk/src/changes/changes.xml?rev=669316&r1=669315&r2=669316&view=diff
==============================================================================
--- logging/log4cxx/trunk/src/changes/changes.xml (original)
+++ logging/log4cxx/trunk/src/changes/changes.xml Wed Jun 18 15:18:45 2008
@@ -23,6 +23,7 @@
</properties>
<body>
<release version="0.10.1" date="2008-XX-XX" description="Maintenance release">
+<action issue="LOGCXX-249">Console appender crashes if layout is not
set</action>
<action issue="LOGCXX-262">socketappendertestcase and
xmlsocketappendertestcase not run</action>
<action issue="LOGCXX-263">Bad link to log4cxx-dev archive</action>
<action issue="LOGCXX-265">Eliminate anachronism warnings</action>
Modified: logging/log4cxx/trunk/src/main/cpp/writerappender.cpp
URL:
http://svn.apache.org/viewvc/logging/log4cxx/trunk/src/main/cpp/writerappender.cpp?rev=669316&r1=669315&r2=669316&view=diff
==============================================================================
--- logging/log4cxx/trunk/src/main/cpp/writerappender.cpp (original)
+++ logging/log4cxx/trunk/src/main/cpp/writerappender.cpp Wed Jun 18 15:18:45
2008
@@ -115,6 +115,10 @@
return false;
}
+
+ if (layout == 0) {
+ return false;
+ }
return true;
}
Modified: logging/log4cxx/trunk/src/test/cpp/consoleappendertestcase.cpp
URL:
http://svn.apache.org/viewvc/logging/log4cxx/trunk/src/test/cpp/consoleappendertestcase.cpp?rev=669316&r1=669315&r2=669316&view=diff
==============================================================================
--- logging/log4cxx/trunk/src/test/cpp/consoleappendertestcase.cpp (original)
+++ logging/log4cxx/trunk/src/test/cpp/consoleappendertestcase.cpp Wed Jun 18
15:18:45 2008
@@ -23,7 +23,7 @@
using namespace log4cxx::helpers;
/**
- Unit tests of log4cxx::nt::NTEventLogAppender
+ Unit tests of ConsoleAppender.
*/
class ConsoleAppenderTestCase : public WriterAppenderTestCase
{
@@ -33,7 +33,7 @@
//
LOGUNIT_TEST(testDefaultThreshold);
LOGUNIT_TEST(testSetOptionThreshold);
-
+ LOGUNIT_TEST(testNoLayout);
LOGUNIT_TEST_SUITE_END();
@@ -42,6 +42,16 @@
WriterAppender* createWriterAppender() const {
return new log4cxx::ConsoleAppender();
}
+
+ void testNoLayout() {
+ Pool p;
+ ConsoleAppenderPtr appender(new ConsoleAppender());
+ appender->activateOptions(p);
+ LoggerPtr logger(Logger::getRootLogger());
+ logger->addAppender(appender);
+ LOG4CXX_INFO(logger, "No layout specified for ConsoleAppender");
+ logger->removeAppender(appender);
+ }
};
LOGUNIT_TEST_SUITE_REGISTRATION(ConsoleAppenderTestCase);