# Apache log4cxx

## 0.10.0 2008-04-03

First Apache release

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

## 0.9.7 2004-05-10

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. (fix)
Port to HPUX 11.0. (add)
Fixed segmentation fault in PropertyConfigurator. (fix)
Port to Solaris. (add)
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 (fix)

## 0.9.6 2004-04-11

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)

## 0.9.5 2004-02-04

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.

## 0.9.4 2003-10-25

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.

## 0.9.3 2003-09-19

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

## 0.9.2 2003-08-10

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.

## 0.9.1 2003-08-06

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".

## 0.9.0 2003-08-06

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.

## 0.1.1 2003-07-09

Fixed MSVC 6.0 compilation problems concerning the 'Release' target
Added MSVC 6.0 tests projects

## 0.1.0 2003-07-08

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)

## 0.0.1 2003-05-31

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 (add)