Thread: [Log4cplus-devel] *SPAM* log4cplus 1.0.4-RC10 released
Logging Framework for C++
Brought to you by:
wilx
From: Václav H. <wi...@us...> - 2010-07-18 10:42:39
|
log4cplus 1.0.4-RC10 has been released. I have attempted to fix compilation on Windows CE and succeeded only partially. It appears that Microsoft's Windows CE compilers and runtime libraries do not have the necessary functions that <ctime> header should provide. I have removed the %X{N} PatternLayout format specifier introduced in previous RC because conflicts with PatternLayout format specifier for MDC, which has been added to trunk in the repository. The last notable change is leak fix for pthread_t handle leak in AbstractThread. POSIX threads have to be either joined or detached at some point in time to free the resources associated with the pthread_t handle. Let's hope no more bugs will crop up and that this will really be the last release candidate for log4cplus 1.0.4. :) -- wilx Version 1.0.4-RC10 - Fixed bug #3030133. Make Autoconf/Automake build system to respect provided --includedir= value. - Removed %X{N} PatternLayout format specifier for NDC with limited depth. Replaced it with NDCMaxDepth property. - Improved compatibility with Windows CE. - Fixed memory leak when using POSIX threads. - Fixed leak of mutex used to synchronize gethostbyname() calls. - Fixed problem with how std::toupper(), std::tolower() and std::isspace() are used in non-Unicode builds. Version 1.0.4-RC9 - Fixed compilation problem in timehelper.cxx. - Added %X{N} PatternLayout format specifier for NDC with limited depth. - Added facility property to SysLogAppender. Version 1.0.4-RC8 - Always handle %s time format specifier (seconds since epoch) in log4cplus. Detect and use clock_gettime() when available. - Fixed compilation on OpenSolaris with Sun C++. - Fixed compilation on OpenBSD. - Fixed use of operator delete/delete[] in FileAppender (Patch #3005234). - Updated config.guess and config.sub to latest Git repository versions. - Added BufferSize property to FileAppender to allow control of the appender's output buffer. - Removed -fkeep-inline-functions from GCC flags for non-debugging build. Version 1.0.4-RC7 - Fixed thread safety issues with gethostbyname() by using getaddrinfo() instead, where available. - Fixed bug #2965390 - Minor internal debugging output issue. - Added --enable-warnings (--disable-warnings) switches to the configure script. - Added ReopenDelay property to FileAppender, allowing the appender to reopen output stream after write failure. (Patch #2971315) Version 1.0.4-RC6 - Fixed bug #2945335 - MinGW/MSYS build problems. For Windows builds the source now defaults to static library/empty LOG4CPLUS_EXPORT macro. - Fixed a security problem in SyslogAppender. - Fixed bug #2955058 - Looping over properties during variables expansion. - Added missing dependency on log4cplus_dll project to filter_test project. - Added a constructor with Properties parameter to DenyAllFilter. - Reworked Layout, Appender and Filter factories registration. Version 1.0.4-RC5 - Implemented feature request #2927416 "Add a native Win32 Console Appender". - Loggingserver now exits with value 2 when it cannot open listening socket. - Improved Doxygen documentation. - Added PropertyConfigurator::getProperties() and PropertyConfigurator::getPropertyFilename() functions. - Removed LOG4CPLUS_EXPORT on SharedObjectPtr<>. - Turned on linker optimizations for MSVC8 builds to make resulting binaries slightly smaller. - Added --enable-runtime-pseudo-reloc linker option for Cygwin and Mingw. Enable --enable-auto-import linker flag also for Mingw. Version 1.0.4-RC4 - Fixed bug #2875993 - Implement connector thread for SocketAppender. - Improved documentation of Appenders' properties. - Improved behaviour of DailyRollingFileAppender. - Added x64 (AMD64) build configuration to MSVC8 project files. - Reworked MSVC8 project files to use .vsprops files to share project settings. - Moved all tests into Tests project folder. - Improved behaviour of ConfigurationWatchDogThread. - Fixed bug #2890819 - Handle empty input in towstring_internal() and tostring_internal(). - Corrected VERSION and SOVERSION in CMakeLists.txt. - Fixed thread_test compilation on AIX. - Added missing syncprims.cxx file in log4cplus_static.vcproj. Version 1.0.4-RC3 IMPORTANT: Majority of log4cplus' source code is now licensed using the Apache Software License 2.0. The rest is covered by two clause BSD license. - Fixed bug #2747435. Implement handling of log4cplus.configDebug configuration property. - Fixed variables shadowing. - Doxygen documentation improvements and fixes. - Add %i PatternLayout format. It expands to process ID. - Fix logging macros compilation for LOG4CPLUS_SINGLE_THREADED case. - Fix Logger log level configuration and root Logger handling log level handling. Version 1.0.4-RC2 - Fixed bug #2834811. Accessing index 0 of empty strings. - Fixed bug #2834808. Memory leak in thread local storage code. - Removed MSVC6 directory and project files. - Update to libtool-2.2.6. Version 1.0.4-RC1 - Fixed compilation with Borland C++ Builder compiler. - Improved CMake build system to also build tests. - Fixed compilation and improved support for Windows CE. - Fixed compilation and improved support for Sun Studio 11 compiler. - Fixed use after free and improved shutdown handling in ConfigurationWatchDogThread. - Implement %H (FQDN) and %h (host name) PatternLayout format specifiers. - Fixed bug #2829604. Environment variables substitution. |
From: Hannah S. <han...@1u...> - 2010-07-19 11:55:50
|
Hi! On Sun, Jul 18, 2010 at 12:22:12PM +0200, Václav Haisman wrote: >I have removed the %X{N} PatternLayout format specifier introduced in >previous RC because conflicts with PatternLayout format specifier for MDC, >which has been added to trunk in the repository. I see the point of freeing %X for MDC. However, do I see things right that using a property for an NDC depth limit means that things are more "global"? With a format parameter (even if it be an optional parameter to %x, the *existing* NDC converter), you could format the NDC multiple times in a single format, using *different* limits (e.g. using a tight limit relatively early in the log line, and using no limit late in the line, so people reading the log could see the limited NDC at the first glance, but still the complete NDC is not completely lost). But if I understand the property thing right, this wouldn't be possible now, as the property influences NDC formatting in a more "global" way now (at least inside eacy patternlayout). >[...] >Let's hope no more bugs will crop up and that this will really be the last >release candidate for log4cplus 1.0.4. :) I see a long standing coding bug in src/configurator.cxx, in line 729 of PRODUCTION_1_0_x r1434. Here, the lstat() return status isn't checked, which might cause unexpected function results if the filename checked denotes a broken symbolic link. Kind regards, Hannah. |
From: Václav H. <v.h...@sh...> - 2010-07-21 14:24:34
|
On Mon, 19 Jul 2010 13:55:40 +0200, Hannah Schroeter wrote: > Hi! > > On Sun, Jul 18, 2010 at 12:22:12PM +0200, Václav Haisman wrote: >>I have removed the %X{N} PatternLayout format specifier introduced in >>previous RC because conflicts with PatternLayout format specifier for MDC, >>which has been added to trunk in the repository. > > I see the point of freeing %X for MDC. However, do I see things right > that using a property for an NDC depth limit means that things are more > "global"? > > With a format parameter (even if it be an optional parameter to %x, the > *existing* NDC converter), you could format the NDC multiple times in a > single format, using *different* limits (e.g. using a tight limit > relatively early in the log line, and using no limit late in the line, > so people reading the log could see the limited NDC at the first glance, > but still the complete NDC is not completely lost). But if I understand > the property thing right, this wouldn't be possible now, as the property > influences NDC formatting in a more "global" way now (at least inside > eacy patternlayout). I think that printing the NDC more than once for each event is not that useful. But I guess that in special circumstances it can be so. The problem with extra precision specification for the %x format specifier is that it makes log4cplus diverge from log4j. E.g. the format specified by string "%x{hi there}" would print "context1 context2{hi there}" from log4j and log4cplus prior to 1.0.4 but it would print "context1 context2" from log4cplus 1.0.4 (because "hi there" is not a number and it would be interpreted as "0" which means unlimited NDC depth). I think that I understand your desire to have the feature in log4cplus repository instead of only as your local patch. May I suggest that you instead copy the PatternLayout code into a new class, do the modification and register the new class as layout with the LayoutFactoryRegistry? Looking at the code it seems you will have to copy most of patternlayout.cxx as some of the classes are not part of public interface. > >>[...] > >>Let's hope no more bugs will crop up and that this will really be the last >>release candidate for log4cplus 1.0.4. :) > > I see a long standing coding bug in src/configurator.cxx, in line 729 of > PRODUCTION_1_0_x r1434. Here, the lstat() return status isn't checked, > which might cause unexpected function results if the filename checked > denotes a broken symbolic link. Thank you, good catch. I have fixed this in revision 1437. -- VH |