Changes Report

Release History

Version Date Description
0.10.0 2008-04-03 First Apache release
0.9.7 2004-05-10
0.9.6 2004-04-11
0.9.5 2004-02-04
0.9.4 2003-10-25
0.9.3 2003-09-19
0.9.2 2003-08-10
0.9.1 2003-08-06
0.9.0 2003-08-06
0.1.1 2003-07-09
0.1.0 2003-07-08
0.0.1 2003-05-31


Release 0.10.0 - 2008-04-03

Type Changes By
? logger.h includes config.h Fixes LOGCXX-2 .
? Missing #else Fixes LOGCXX-3 .
? initialization not working on many OS's Fixes LOGCXX-4 .
? Preprocessor macro WIN32 used instead of _WIN32 Fixes LOGCXX-5 .
? Win32 OutputDebugString Fixes LOGCXX-6 .
? SocketAppender binary format not compatible with Chainsaw Fixes LOGCXX-7 .
? Compilation problems using VC5 or VC6 with later Platform SDKs Fixes LOGCXX-8 .
? Conflicting definitions of tchar.h/simulatenous Unicode+MBCS Fixes LOGCXX-10 .
? Timezone may have side-effects Fixes LOGCXX-11 .
? the threshold of ApenderSkeleton can not be set by calling setOption. Fixes LOGCXX-12 .
? Add branch optimization hint to LOG4CXX_DEBUG macro Fixes LOGCXX-13 .
? add -Wall to compile log4cxx will get many warning Fixes LOGCXX-14 .
? PatternLayout don't use locale time zone,it's use GMT tome zone Fixes LOGCXX-15 .
? Misleading statements in Introduction to log4cxx Fixes LOGCXX-16 .
? Use of non reentrant time functions Fixes LOGCXX-17 .
? LoggerStream Feature Fixes LOGCXX-18 .
? Add .cvsignore's to ignore generated files Fixes LOGCXX-19 .
? Add check that libxml2 not libxml has been included Fixes LOGCXX-21 .
? Backslashes in filenames in XML config of FileAppender broken Fixes LOGCXX-22 .
? Unit tests have become stale Fixes LOGCXX-23 .
? Class and module name not available in LogEvent Fixes LOGCXX-24 .
? Add Ant+cpptasks build file Fixes LOGCXX-25 .
? Default initialization is broken Fixes LOGCXX-26 .
? Appender threshold cannot be set in configuration files Fixes LOGCXX-27 .
? Appender threshold cannot be set in configuration files Fixes LOGCXX-28 .
? Appender attributes are not passed passed to setOption correctly. Fixes LOGCXX-29 .
? StringTokenizer uses evil strtok and wcstok functions Fixes LOGCXX-30 .
? Missing const qualifiers, Exception::getMessage() in particular. Fixes LOGCXX-31 .
? Missing copy constructors and assignment operators Fixes LOGCXX-32 .
? log4cxx::Exception is not derived from std::exception Fixes LOGCXX-33 .
? Visual Studio 6 CVS build broken Fixes LOGCXX-34 .
? Avoid use of MSXML Fixes LOGCXX-35 .
? Migrate to Apache Portable Runtime threads Fixes LOGCXX-36 .
? Unable to build log4cxx under Borland C++ Fixes LOGCXX-37 .
? Remove DailyRollingFileAppender Fixes LOGCXX-39 .
? PatternLayout does not support Java date format specifiers Fixes LOGCXX-40 .
? Layout timestamp doesn't seem to adjust for daylight saving Fixes LOGCXX-41 .
? configure/make help needed Fixes LOGCXX-43 .
? GUMP integation Fixes LOGCXX-44 .
? _T causes error : 1048576 cannot be used as a function Fixes LOGCXX-45 .
? Extra semicolon after namespace closing paren Fixes LOGCXX-46 .
? Check headers for missing declarations and Effective C++ violations Fixes LOGCXX-47 .
? Use hex representation for thread identifier Fixes LOGCXX-48 .
? Move timezone specification into pattern, remove locale specification Fixes LOGCXX-49 .
? variable name clash in macro Fixes LOGCXX-50 .
? Migrate log4j 1.3 RollingFileAppender Fixes LOGCXX-52 .
? Problems compiling with MsDev 6.0 (space in paths) Fixes LOGCXX-53 .
? Eliminate use of boost-regex in unit tests Fixes LOGCXX-54 .
? DailyRolling File Appender Fixes LOGCXX-55 .
? BasicConfiguration is unreliable Fixes LOGCXX-56 .
? Port log4j performance test Fixes LOGCXX-57 .
? ImmediateFlush'd FileAppenders extremely slow on Windows Fixes LOGCXX-58 .
? Implement encoding support for Writer appender Fixes LOGCXX-59 .
? XML layout can be mismatched with document encoding Fixes LOGCXX-60 .
? log4cxx 0.10.0 release Fixes LOGCXX-62 .
? Platform appropriate line-feed convention Fixes LOGCXX-63 .
? Migrate to APR network IO Fixes LOGCXX-64 .
? SyslogAppender append method currently stubbed out Fixes LOGCXX-66 .
? NTEventLogAppender always uses RPC method for logging and has inadequate error handling. Fixes LOGCXX-67 .
? Logic flaws in StringHelper::startsWith and StringHelper::endsWith Fixes LOGCXX-70 .
? Update performance page on web site Fixes LOGCXX-71 .
? INSTALL out of date Fixes LOGCXX-72 .
? Not loading configuration from log4cxx.properties or log4cxx.xml Fixes LOGCXX-73 .
? MinGW build Fixes LOGCXX-74 .
? Cygwin build Fixes LOGCXX-75 .
? user.home, user.dir, java.io.tmpdir available within configuration files Fixes LOGCXX-76 .
? Static builds broken Fixes LOGCXX-77 .
? configure check for apr-util Fixes LOGCXX-79 .
? Migrated network appenders to APR network IO Fixes LOGCXX-80 .
? SimpleDateFormat does not compile on Solaris 2.95.2 gcc Fixes LOGCXX-81 .
? Compiling with stream.h in multiple object files errors Fixes LOGCXX-82 .
? log4cxx::Level::ERROR fails to compile when GDI enabled Fixes LOGCXX-83 .
? Problems with stream logging in UTF8, no WCHAR_T build Fixes LOGCXX-84 .
? Mac OS/X fixes and enhancements Fixes LOGCXX-85 .
? Add TRACE level Fixes LOGCXX-86 .
? Remove remaining uses of Category and Priority Fixes LOGCXX-87 .
? Explore use of security-enhanced CRT methods Fixes LOGCXX-88 .
? simplesocketserver.cpp should use LOG4CXX_STR("...") not L"..." Fixes LOGCXX-94 .
? Gump build fails for log4cxx-ant-no-wchar-t target Fixes LOGCXX-98 .
? Fixes for ODBCAppender Fixes LOGCXX-100 .
? Much of CVS HEAD seems #if 0 out, especially ResourceBundle stuff Fixes LOGCXX-103 .
? ODBCAppender::close does not check if appender is already closed Fixes LOGCXX-104 .
? Infinite loop in string replacing Fixes LOGCXX-105 .
? maxFileSize has bad type in SizeBasedTriggeringPolicy file Fixes LOGCXX-106 .
? Can't compile log4cxx in ascii on Windows Fixes LOGCXX-107 .
? try fix 64bit log4cxx_intptr_t Fixes LOGCXX-110 .
? make Logger cache a LoggerRepositoryPtr instead of a "blind" pointer Fixes LOGCXX-111 .
? change "static" to "auto" for Transcoder::decode() decoder and CharsetDecoder::getDefaultDecoder() decoder Fixes LOGCXX-112 .
? separate apr detection m4 codes from aclocal.m4 Fixes LOGCXX-113 .
? Upgrade APR to 1.2.2 from 1.1.0 Fixes LOGCXX-114 .
? SVN head does not compile with Borland C++ compiler Fixes LOGCXX-115 .
? SVN head does not compiler with MinGW compiler Fixes LOGCXX-116 .
? Memory leak with ThreadSpecificData on Win32 Fixes LOGCXX-117 .
? Hierarchy corrupts with PropertyConfigurator Fixes LOGCXX-118 .
? ndctestcase not working Fixes LOGCXX-119 .
? Wrong parameter description in Patternlayout Fixes LOGCXX-120 .
? UTF-8 build fails on Linux Fixes LOGCXX-123 .
? wchar_t constructor missing in class NDC Fixes LOGCXX-124 .
? L7dTestCase is stubbed out Fixes LOGCXX-125 .
? std::cout stops working if log4cxx is first to output Fixes LOGCXX-126 .
? Main build.xml not referencing "env" properly. Fixes LOGCXX-127 .
? Asyncappender is full of race conditions (improper use of condition variables) Fixes LOGCXX-129 .
? Compile fails on gcc4.1 Fixes LOGCXX-130 .
? TimeBasedRollingPolicy is declared "abstract" Fixes LOGCXX-131 .
? various segmentation faults in multithreaded application Fixes LOGCXX-132 .
? Missing parenthesis in LOG4CXX_ASSERT Fixes LOGCXX-133 .
? FileAppender could create missing directories Fixes LOGCXX-134 .
? Use std::string with logstream Fixes LOGCXX-135 .
? DailyRollingFileAppender not using Property options Fixes LOGCXX-136 .
? XMLLayoutTestCase output and filtered output gets overwritten Fixes LOGCXX-138 .
? XMLLayoutTestCase uses inadequate filters for 64 bit platforms Fixes LOGCXX-139 .
? Handle leak with LoggingEvent::getCurrentThreadName Fixes LOGCXX-140 .
? Upgrade to APR 1.2.7 or later Fixes LOGCXX-141 .
? socketservertestcase.cpp does not compile with Sun Studio 11 on Solaris Fixes LOGCXX-142 .
? -xarch=v8plus should be removed from Makefile.in Fixes LOGCXX-143 .
? DailyRollingFileAppender::~DailyRollingFileAppender must call finalize Fixes LOGCXX-146 .
? make dist does not work Fixes LOGCXX-149 .
? logstream's operator < < declared in the wrong namespace Fixes LOGCXX-150 .
? Umlauts as literal in patternlayout won't be logged correct Fixes LOGCXX-151 .
? gcc warning about cast from `const void*' to `log4cxx::helpers::Object*' discards qualifiers from pointer target typ Fixes LOGCXX-152 .
? Automate log4cxx site and doxygen generation and deployment Fixes LOGCXX-153 .
? Update source headers per new ASF header policy Fixes LOGCXX-155 .
? immediate flush in console appender Fixes LOGCXX-156 .
? make install fails since @manual_dest@ replacement is missing in Makefiles Fixes LOGCXX-157 .
? tolower not defined in stringhelper.cpp Fixes LOGCXX-158 .
? Initialization of local static objects out of order on Linux Fixes LOGCXX-159 .
? helpers/object.h: DECLARE_LOG4CXX_OBJECT macro definition is missing virtual destructor declaration Fixes LOGCXX-160 .
? Using RollingFileAppender increases the working set with each rollover Fixes LOGCXX-161 .
? Problem printing string with embedded NULL character Fixes LOGCXX-162 .
? liblog4cxx (svn 480882) does not link on Mac OS X 10.4 Fixes LOGCXX-163 .
? XMLSocketAppender is disabled Fixes LOGCXX-164 .
? XMLSocketAppender may generate erroneous output due to mismatched encoding Fixes LOGCXX-165 .
? system locale charmap is not determined properly on Fedora Core 6 Fixes LOGCXX-167 .
? log4j.dtd does not contain rollingPolicy and other o.a.l.r.RFA elements Fixes LOGCXX-168 .
? XMLLayoutTestCase fails on compilers that do not provide location info Fixes LOGCXX-169 .
? Add project description file for projects.apache.org Fixes LOGCXX-171 .
? configure fail with ".infig.status: error: cannot find input file:" Fixes LOGCXX-172 .
? APRCharsetEncoder is not thread safe Fixes LOGCXX-175 .
? SocketImpl::accept uses private APR function: apr_wait_for_io_or_timeout Fixes LOGCXX-177 .
? Link failure if wchar_t cannot be determined as UTF-16 or UTF-32 Fixes LOGCXX-178 .
? example applications do SIGABRT on aix 5.2 Fixes LOGCXX-179 .
? Build fails at domconfigurator.h Fixes LOGCXX-180 .
? Level::DEBUG and other non-local statics cause crash on app shutdown on AIX Fixes LOGCXX-181 .
? missing man page for simplesocketserver Fixes LOGCXX-182 .
? Compiler warning: dereferencing type-punned pointer will break strict-aliasing rules Fixes LOGCXX-183 .
? Crash when log level set to 'inherited' Fixes LOGCXX-184 .
? Garbage characters in log files when log requests from multiple threads with hyperthreading enabled Fixes LOGCXX-186 .
? LogLog::emit() could potentially interleave messages Fixes LOGCXX-187 .
? Upgrade to apr 1.2.9 and apr-util 1.2.8 Fixes LOGCXX-188 .
? Migrate to Maven 2.0 for documentation and packaging Fixes LOGCXX-189 .
? The 'logger.h' header includes itself. Fixes LOGCXX-190 .
? Application cores when syslog appender is given an unreachable host/ip. Fixes LOGCXX-191 .
? Suggested improvements to log4cxx webpages Fixes LOGCXX-192 .
? Please rename or remove new local variable "buf" in Logger.h macros Fixes LOGCXX-193 .
? Garbage in log files when appenders are defined in multiple levels of the logger hierarchy Fixes LOGCXX-194 .
? Syslog appender adds characters to output. Fixes LOGCXX-195 .
? Syslog appender destructor can cause core Fixes LOGCXX-196 .
? ant can't generate vc6 project Fixes LOGCXX-197 .
? Implement compression for RollingFileAppender Fixes LOGCXX-200 .
? Visual Studio 6 build Fixes LOGCXX-201 .
? ObjectPtrT has inconsistent const-ness on accessors Fixes LOGCXX-202 .
? PatternParserTestCase and FileNamePatternTestCase fail only with VC6 Fixes LOGCXX-204 .
? isTraceEnabled implemenation missing in logger.cpp (Revision: 592627) Fixes LOGCXX-208 .
? A message of type wchar_t* is not beeing written correctly to the internal message buffer (Revision: 592627) Fixes LOGCXX-209 .
? HTMLLayout NDC null check Fixes LOGCXX-210 .
? Crash(Segmentation Fault) in DailyRollingFileAppender when file change Fixes LOGCXX-211 .
? unittest failed Fixes LOGCXX-212 .
? trace method implementation is missing Fixes LOGCXX-213 .
? Possible memory leak due to fault in build process (via make) Fixes LOGCXX-214 .
? Eliminate sqlext.h from odbcappender.h Fixes LOGCXX-215 .
? crash on program exit Fixes LOGCXX-216 .
? Not initialized LoggerPtr segfault program. Fixes LOGCXX-217 .
? Visual Studio 8 build Fixes LOGCXX-218 .
? suspicious warnings Fixes LOGCXX-219 .
? Memory leaks when using MFC Fixes LOGCXX-220 .
? ThreadID layout does not match debugger Fixes LOGCXX-221 .
? trunk compile error. Fixes LOGCXX-222 .
? Migrate unit tests from LGPL'd CPPUNIT to an ASL'd testing framework Fixes LOGCXX-225 .
? Default configurator uses *.properties in preference to *.xml Fixes LOGCXX-226 .
? Remove @since tags Fixes LOGCXX-227 .
? Remove @author tags Fixes LOGCXX-228 .
? Align ant build options with automake Fixes LOGCXX-230 .
? Deadlock in AsyncAppender Fixes LOGCXX-231 .
? Drop src/performance Fixes LOGCXX-232 .
? Unnecessary casts in ObjectPtrT Fixes LOGCXX-233 .
? Assignment operator removes const qualifier Fixes LOGCXX-234 .
? Add ObjectPtrT::exchange Fixes LOGCXX-235 .
? Re-order constructor initialiser lists to match declaration order Fixes LOGCXX-236 .
? Include missing headers Fixes LOGCXX-237 .
? Inconsistent const qualification on logging methods. Fixes LOGCXX-239 .
? Non-ascii named files have names mangled Fixes LOGCXX-241 .
? Eliminate log4cxx proxies for APR types Fixes LOGCXX-242 .
? Problem Compile in Doxy Fixes LOGCXX-243 .
? Config refresh hangs a client application that uses TelnetAppender Fixes LOGCXX-246 .
? MSVC project has wrong additional include directories Fixes LOGCXX-247 .
? ODBCAppender has unicode issues Fixes LOGCXX-248 .
? NDC::cloneStack and NDC::inherit missing in 0.10.0 RC2 Fixes LOGCXX-251 .
? Add documentation for use of operator < < in logging requests Fixes LOGCXX-252 .
? Transcoder compilation error with utf-8 charset Fixes LOGCXX-253 .
? Add build option for static C RTL Fixes LOGCXX-254 .
? SocketHubAppender fails after accepting connection Fixes LOGCXX-256 .
? ServerSocket::accept hangs on Unix Fixes LOGCXX-257 .
? unable to build from make dist package due to missing doxygen file Fixes LOGCXX-258 .
? Several appenders fail to compile in Visual Studio 2008 Fixes LOGCXX-259 .

Release 0.9.7 - 2004-05-10

Type Changes By
fix Fixed examples source code in the "Short introduction to log4cxx".
fix Fixed, in the renaming algorithm of RollingFileAppender and DailyRollingFileAppender, a problem specific to Unicode.
fix Fixed conflict with Windows macros "min" and "max", by renaming StrictMath::min and StrictMath::max to StrictMath::minimum and StrictMath::maximum.
add Port to HPUX 11.0.
fix Fixed segmentation fault in PropertyConfigurator.
add Port to Solaris.
fix Fixed MutexException thrown while destroying RollingFileAppender.
fix Logging macros can be used without explicity declaring the use of log4cxx namespace.
fix Fixed static library unresolved externals for msvc 6 and 7.1

Release 0.9.6 - 2004-04-11

Type Changes By
? Timezone management has been optimized through the class TimeZone
? Inter-thread synchronization and reference counting has been optimized
? Reference counting now uses gcc atomic functions (bug 929078)
? Use of StringBuffer has been optimized.
? Support of localisation throug resourceBundles
? SyslogAppender now uses the system function 'syslog' to log on the local host. (only for POSIX systems)
? Added TimeZone configuration to PatternLayout (bug 912563)
? Support of the DailyRollingFileAppender (feature request 842765)

Release 0.9.5 - 2004-02-04

Type Changes By
? Port of log4j Jnuit tests with Cppunit and Boost Regex.
? Added explicit exports for MSDEV 6 and MSDEV 7 (no further need of .def files)
? Custom levels can be configured through the DOMConfigurator and PropertyConfigurator classes (Level inherites from Object)
? Added a reference counter to LoggingEvent to avoid useless copies (LoggingEvent inherites from Object)
? The file log4j.xml as well as the file log4j.properties are now search for, in log4cxx initialization.
? The root logger can be assigned the "OFF" level.
? Added MSVC6 project missing files mutext.cpp and condition.cpp (bug 847397)
? condition.cpp now compiles with MSVC6 (bug 847417)
? fixed pure virtual function call in PropertyConfigurator::configureAndWatch (bug 848521)
? XMLAppender now displays correct timestamp with MSVC 6 (bug 852836)
? SRLPORT 4.6 support.
? Fixed an infinite loop in class Properties.
? Fixed compilations problems with unicode.
? Fixed SocketAppender bug concerning MDC and NDC.

Release 0.9.4 - 2003-10-25

Type Changes By
? StringBuffer has been optimized.
? Fixed miscellaneous threading problems.
? Added TimeZone support in PatternLayout (bug 796894)
? Fixed threading configuration problems (bug 809125)
? Fixed miscellaneous MSVC and cygwin compilation problems.

Release 0.9.3 - 2003-09-19

Type Changes By
? Changed tstring to log4cxx::String and tostringstream to log4cxx::StringBuffer.
? Fixed MSVC 2003 compilation erros and warnings.
? Added helpers for NDC and MDC.
? Added TimeZone support in TTCCLayout.
? Fixed compilation problems with logger macros (LOG4CXX_...)
? Fixed milliseconds formatting problem with MSVC 6.0 and 2003
? Fixed AsyncAppender crash
? Added new tests
? Added benchmarks

Release 0.9.2 - 2003-08-10

Type Changes By
? Fixed FreeBSD compilation problem with pthread mutex (class CriticalSection).
? Fixed milliseconds formatting problem (class DateFormat).
? Long events ( > 1024 chars) are now supported in the class XMLSocketAppender.
? Carriage returns have been normalized in the class XMLLayout.

Release 0.9.1 - 2003-08-06

Type Changes By
? Fixed deadlock problems in classes Logger and AsyncAppender.
? Fixed MSVC 6.0 compilation problems.
? Added MSVC 6.0 static libraty project.
? Default configuration for the SMTP options is "no".

Release 0.9.0 - 2003-08-06

Type Changes By
? Added ODBCAppender (matching log4j JDBCAppender)
? Added SyslogAppender
? Added SMTPAppender (only for Linux/FreeBSD)
? Added BasicConfigurator
? Added a FileWatchDog in PropertyConfigurator and DOMConfigurator
? Possibility to load a custom LoggerFactory through the DOMConfigurator
? Changed time precision from seconds to milliseconds
? Added MSVC 6.0 'Unicode Debug' and 'Unicode Release' targets
? Added Java like System class.

Release 0.1.1 - 2003-07-09

Type Changes By
? Fixed MSVC 6.0 compilation problems concerning the 'Release' target
? Added MSVC 6.0 tests projects

Release 0.1.0 - 2003-07-08

Type Changes By
? FreeBSD Autotools/Compilation support
? Fixed TelnetAppender crash when a socket bind exception occured.
? Added log4j DTD support to XMLLayout and DOMConfigurator
? Can now send events in XML format over TCP (class XMLSocketAppender) for the log4j Chainsaw UI
? Now compiles with 'configure --enable-unicode' (UTF16 Unicode support)
? Added Java like Properties class. It's a helper for the PropertyConfigurator
? Added Java like objects with dynamic cast and instanciation. Custom objects can be configured through the DOMConfigurator and PropertyConfigurator classes
? Port of the PropertyConfigurator class
? Port of the "Map Diagnostic Context" (MDC) class
? Added 13 tests (try make check)

Release 0.0.1 - 2003-05-31

Type Changes By
add Loggers, Hierarchy, Filters, Appenders, Layouts, NDC
add Appenders: AsyncAppender, ConsoleAppender, FileAppender, NTEventLogAppender, RollingFileAppender, SocketAppender, SocketHubAappender, TelnetAppender
add Layouts: HTMLLayout, PatternLayout, SimpleLayout, TTCCLayout, XMLLayout
add Filters: DenyAllFilter, LevelMatchFilter, LevelRangeFilter, StringMatchFilter
add Configurators: DOMConfigurator