Apache log4cxx  Version 0.12.1
Changelog

Release History

Version Date Description
0.12.1 2021-09-21 Bugfix for 0.12.0
0.12.0 2021-05-01 First release to require C++11. Updates for smart pointers. Standardization on CMake for building.
0.11.0 2020-08-09 Maintenance release.
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.12.1 - 2021-09-21

This is a minor bugfix release to fix issues found with 0.12.0. Notably, this version fixes a bug where a multithreaded application would crash when using a rolling file.

Bug

  • [LOGCXX-534] - Crashed in log->forcedLog function when running with multi-thread
  • [LOGCXX-528] - log4cxx fails to build on Centos 7.6 / g++ 4.8.5 / Boost 1.53

Release 0.12.0 - 2021-05-01

This is the first release to require a minimum version of C++11. This means that all objects in log4cxx are now created using std::shared_ptr as the smart pointer implementation.

Alternative build systems have been removed, and we now support CMake only for building the library.

With the introduction of smart pointers, the old behavior of implicit casting no longer works. In order to cast between classes, use the new log4cxx::cast method. This method returns an invalid shared_ptr on failure, or a shared_ptr pointing at the same object on success. This should be transparent to user code, unless you are interacting with log4cxx internals directly.

Before:

ObjectPtr instance = Loader::loadClass(className).newInstance();
AppenderPtr appender = instance;

After:

ObjectPtr instance = ObjectPtr(Loader::loadClass(className).newInstance());
AppenderPtr appender = log4cxx::cast<Appender>(instance);
// At this point(assuming the cast was good), instance and appender
// both point at the same object.

Bug

New Feature

  • [LOGCXX-515] - Add macros to utilize libfmt formatting for messages

Improvement

  • [LOGCXX-523] - Add in error handling for rollover errors

Release 0.11.0 - 2020-08-09

Type Changes By
fix.gif
fix
cmake and autotools generate different versioned binaries Fixes LOGCXX-512.
fix.gif
fix
CachedDateFormat reuses timestamps without updating milliseconds after formatting timestamp with ms == 654 Fixes LOGCXX-506.
update.gif
update
Checksums/Signatures don't match for log4cxx binaries Fixes LOGCXX-503.
update.gif
update
appenderattachable.h function doc formatted "incorrectly" Fixes LOGCXX-502.
update.gif
update
Logging in Timing-Critical Applications Fixes LOGCXX-500.
fix.gif
fix
Provide a windows build environment for the project by replacing the ant build with a CMake build Fixes LOGCXX-494.
fix.gif
fix
Wrong usage of milli- vs. micro- and non- vs. milliseconds in some docs. Fixes LOGCXX-493.
fix.gif
fix
conditional expression is constant Fixes LOGCXX-490.
fix.gif
fix
Space after log level hides messages Fixes LOGCXX-488.
fix.gif
fix
Spelling error s/excute/execute Fixes LOGCXX-484.
update.gif
update
Not able to see hebrew values when logging in log4cxx Fixes LOGCXX-483.
fix.gif
fix
Build failure with GCC-6 Fixes LOGCXX-482.
fix.gif
fix
TimeBasedRollingPolicy should append as configured on rollover Fixes LOGCXX-464.
fix.gif
fix
LogLog::setQuietMode(true) does not suppress exception reporting Fixes LOGCXX-455.
fix.gif
fix
make install fails, trying to overwrite header files Fixes LOGCXX-446.
fix.gif
fix
Return by const reference in Logger::getName() Fixes LOGCXX-443.
fix.gif
fix
Autoconf 2.69 needs 'ACLOCAL_AMFLAGS= -I .' Fixes LOGCXX-433.
fix.gif
fix
Wildcards in Makefile.am break either VPATH or non-VPATH installs Fixes LOGCXX-428.
fix.gif
fix
exceptions in CachedDateFormatTestCase after LOGCXX-420 Fixes LOGCXX-425.
fix.gif
fix
liblog4cxx.pc.in should reflect dependency on apr-1, apr-1-util Fixes LOGCXX-424.
fix.gif
fix
Repair autogen script warnings Fixes LOGCXX-423.
fix.gif
fix
Regression of LOGCXX-420 Fixes LOGCXX-422.
fix.gif
fix
Possible out_of_range exception for millisecond formats in CachedDateFormat Fixes LOGCXX-420.
fix.gif
fix
atoi undefined on Mac OS 10.9 compiling stringhelper.cpp Fixes LOGCXX-417.
fix.gif
fix
Configure and watch could crash on app exit with static linking Fixes LOGCXX-416.
fix.gif
fix
Empty XML configuration file causes crash Fixes LOGCXX-415.
fix.gif
fix
possibly wrong use of autotools docdir (due to Alex Zbarcea) Fixes LOGCXX-414.
fix.gif
fix
log4cxx doesn't compile on openembedded (due to Alex Zbarcea) Fixes LOGCXX-413.
fix.gif
fix
Log4cxx doesn't roll normally when working under multiple processes environment Fixes LOGCXX-412.
fix.gif
fix
Crash when logging on multiple threads. Fixes LOGCXX-411.
fix.gif
fix
C++11 does not allow char literals with highest bit set unless cast Fixes LOGCXX-400.
fix.gif
fix
Non-ascii character output wrong. Fixes LOGCXX-399.
fix.gif
fix
Infinite loop in Transcoder::encode(const LogString& src, std::wstring& dst) Fixes LOGCXX-398.
fix.gif
fix
Levels are not thread safe Fixes LOGCXX-394.
fix.gif
fix
Hierarchy::updateParents loops forever on illegal logger-name like '.logger1' Fixes LOGCXX-388.
fix.gif
fix
Mingw build type conversion error Fixes LOGCXX-382.
fix.gif
fix
Pkgconfig can't find dependencies properly if log4cxx built statically Fixes LOGCXX-381.
fix.gif
fix
Load Properties File Fails When There Are multibyte Characters in the Path Fixes LOGCXX-369.
fix.gif
fix
method and class name functions not properly implemented Fixes LOGCXX-368.
fix.gif
fix
Build fails on Linux with g++ 4.4 Fixes LOGCXX-367.
fix.gif
fix
Errors when compile log4cxx 0.10.0 under Win7 x64 with Visual Studio 2010 (due to Christian Boos and Feng Nan) Fixes LOGCXX-366.
fix.gif
fix
Unit tests fail on system dates later than 2009-12-31. Fixes LOGCXX-365.
fix.gif
fix
SMTPAppender generating Emails with an empty body Fixes LOGCXX-358.
fix.gif
fix
apache-log4cxx-0.10.0\src\main\include\log4cxx\spi\configurator.h(57) : warning C4231: nonstandard extension used : 'extern' before template explicit instantiation Fixes LOGCXX-356.
fix.gif
fix
When a client disconnects the SocketHubAppender crashes on the next log message Fixes LOGCXX-353.
fix.gif
fix
Download page does not have link to KEYS file Fixes LOGCXX-351.
fix.gif
fix
Transcoder::encodeCharsetName bungles encoding Fixes LOGCXX-340.
update.gif
update
Child thread does not inherit a copy of the mapped diagnostic context of its parent Fixes LOGCXX-339.
fix.gif
fix
Suggested fix for socketappender not reconnecting multiple times Fixes LOGCXX-337.
fix.gif
fix
Test compilation fails: Overloading ambiguity Fixes LOGCXX-336.
fix.gif
fix
DailyRollingFileAppender should roll if program doesn't run at rolling time Fixes LOGCXX-331.
fix.gif
fix
TLS memory of APR is not freed in destructor of APRInitializer Fixes LOGCXX-320.
fix.gif
fix
Please make sure that the LOG4CXX_* macro's can be used as ordinary statements. Fixes LOGCXX-319.
fix.gif
fix
Log4cxx triggers locking inversion which can result in a deadlock. Fixes LOGCXX-317.
fix.gif
fix
Build process fails in case of absence of iconv support in apr-util Fixes LOGCXX-313.
fix.gif
fix
Property/DOMConfigurator::configureAndWatch can continue to run after APR termination Fixes LOGCXX-305.
fix.gif
fix
BasicConfigurator::configure results in writer not set warning. Fixes LOGCXX-304.
fix.gif
fix
DOMConfigurator does not set ErrorHandler. Fixes LOGCXX-303.
fix.gif
fix
ODBCAppender connection settings broken (or just have changed). Fixes LOGCXX-300.
fix.gif
fix
odbcappender.cpp does not compile with unixODBC on linux. Fixes LOGCXX-299.
fix.gif
fix
SMTPAppender does not build properly with autotools. Fixes LOGCXX-298.
fix.gif
fix
Escape sequences not recognized in property files. Fixes LOGCXX-293.
fix.gif
fix
Value continuation does not properly handle CRLF in property files. Fixes LOGCXX-292.
fix.gif
fix
Tab characters are not recognized in property files. Fixes LOGCXX-291.
fix.gif
fix
Unnecessary trailing semi-colons after LOG4CXX_INFO et al in docs, examples and tests. Fixes LOGCXX-288.
fix.gif
fix
gcc 4.3 requires #include <cstring> when using memcpy and related. Fixes LOGCXX-286.
fix.gif
fix
LevelRangeFilter has default value for acceptOnMatch that is different from log4j Fixes LOGCXX-285.
fix.gif
fix
Unit tests fail to compile with xlc_r on AIX Fixes LOGCXX-284.
fix.gif
fix
Suspicious, but harmless, reuse of LOCAL1 in SyslogAppender Fixes LOGCXX-283.
fix.gif
fix
Thread::sleep not affected by Thread::interrupt. Fixes LOGCXX-282.
fix.gif
fix
Sun Studio 11 reports function hides base virtual function warning Fixes LOGCXX-281.
fix.gif
fix
tests and sample code unnecessarily compiled during default make target Fixes LOGCXX-280.
fix.gif
fix
Threads for reconnecting sockets do not end cleanly when program exits Fixes LOGCXX-278.
fix.gif
fix
Reconnection not working for sockets Fixes LOGCXX-277.
fix.gif
fix
AndFilter and others defined but not implemented Fixes LOGCXX-276.
fix.gif
fix
Headers cannot be included with very strict warning settings Fixes LOGCXX-275.
fix.gif
fix
Prevent filenamepatterntestcase from failing in some timezones Fixes LOGCXX-273.
update.gif
update
Apache log4cxx 0.11.0 release Fixes LOGCXX-272.
fix.gif
fix
MDC::put will not overwrite existing key value pair Fixes LOGCXX-271.
fix.gif
fix
Add ability to compile out logging by logging level. Fixes LOGCXX-270.
fix.gif
fix
Local variables hide member variables Fixes LOGCXX-267.
fix.gif
fix
Eliminate Extra ";" ignored warnings Fixes LOGCXX-266.
fix.gif
fix
Eliminate anachronism warnings Fixes LOGCXX-265.
fix.gif
fix
Bad link to log4cxx-dev archive Fixes LOGCXX-263.
fix.gif
fix
socketappendertestcase and xmlsocketappendertestcase not run Fixes LOGCXX-262.
fix.gif
fix
Console appender crashes if layout is not set Fixes LOGCXX-249.
add.gif
add
Set SONAME in cmake like autotools based buildsystem would do. Fixes 32.
add.gif
add
Implementation of map-based filter. Fixes 24.
add.gif
add
Added support for building log4cxx as a statically linked library on Windows. Fixes 21.
add.gif
add
Replaced ant build with cmake. Fixes 14.
add.gif
add
JSONLayout Fixes 13.
update.gif
update
Behavior of StringHelper::startsWith and endsWith synced.
update.gif
update
Documented C (class) and M (method) log format keywords.
add.gif
add
LocationInfo for Borland C++ Builder and successors improved.

Release 0.10.0 - 2008-04-03

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

Release 0.9.7 - 2004-05-10

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

Release 0.9.6 - 2004-04-11

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

Release 0.9.5 - 2004-02-04

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

Release 0.9.4 - 2003-10-25

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

Release 0.9.3 - 2003-09-19

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

Release 0.9.2 - 2003-08-10

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

Release 0.9.1 - 2003-08-06

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

Release 0.9.0 - 2003-08-06

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

Release 0.1.1 - 2003-07-09

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

Release 0.1.0 - 2003-07-08

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

Release 0.0.1 - 2003-05-31

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