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);