Apache logging services logo Apache log4j logo


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

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

Release 0.9.5 - 2004-02-04

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

Release 0.9.4 - 2003-10-25

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

Release 0.9.3 - 2003-09-19

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

Release 0.9.2 - 2003-08-10

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

Release 0.9.1 - 2003-08-06

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

Release 0.9.0 - 2003-08-06

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

Release 0.1.1 - 2003-07-09

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

Release 0.1.0 - 2003-07-08

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