log4cplus-devel Mailing List for log4cplus (Page 19)
Logging Framework for C++
Brought to you by:
wilx
You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
(2) |
Apr
(2) |
May
(1) |
Jun
|
Jul
|
Aug
(2) |
Sep
(3) |
Oct
|
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2005 |
Jan
|
Feb
(1) |
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
(1) |
2006 |
Jan
|
Feb
(1) |
Mar
|
Apr
(1) |
May
(1) |
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
(3) |
Nov
(7) |
Dec
(15) |
2007 |
Jan
(19) |
Feb
(23) |
Mar
(40) |
Apr
(36) |
May
(18) |
Jun
(8) |
Jul
(10) |
Aug
(18) |
Sep
(18) |
Oct
(4) |
Nov
(1) |
Dec
(4) |
2008 |
Jan
(2) |
Feb
(1) |
Mar
(4) |
Apr
(16) |
May
(17) |
Jun
(15) |
Jul
(23) |
Aug
(7) |
Sep
(2) |
Oct
|
Nov
|
Dec
|
2009 |
Jan
(2) |
Feb
(1) |
Mar
(1) |
Apr
(7) |
May
|
Jun
(5) |
Jul
(2) |
Aug
(9) |
Sep
|
Oct
(4) |
Nov
(6) |
Dec
(4) |
2010 |
Jan
(2) |
Feb
(2) |
Mar
(6) |
Apr
(5) |
May
(2) |
Jun
(13) |
Jul
(5) |
Aug
|
Sep
(2) |
Oct
(2) |
Nov
|
Dec
|
2011 |
Jan
(1) |
Feb
|
Mar
|
Apr
(2) |
May
(2) |
Jun
(11) |
Jul
(1) |
Aug
(4) |
Sep
(5) |
Oct
|
Nov
(4) |
Dec
|
2012 |
Jan
|
Feb
(13) |
Mar
(3) |
Apr
(5) |
May
(18) |
Jun
(22) |
Jul
(11) |
Aug
(25) |
Sep
(56) |
Oct
(1) |
Nov
(28) |
Dec
(3) |
2013 |
Jan
(66) |
Feb
(40) |
Mar
(61) |
Apr
(1) |
May
(45) |
Jun
(30) |
Jul
(30) |
Aug
(46) |
Sep
(23) |
Oct
(43) |
Nov
(95) |
Dec
(27) |
2014 |
Jan
(16) |
Feb
(19) |
Mar
(23) |
Apr
(18) |
May
(22) |
Jun
(12) |
Jul
(15) |
Aug
(16) |
Sep
(30) |
Oct
(10) |
Nov
(10) |
Dec
(5) |
2015 |
Jan
(2) |
Feb
(7) |
Mar
|
Apr
(1) |
May
(10) |
Jun
(3) |
Jul
(1) |
Aug
(5) |
Sep
|
Oct
(6) |
Nov
(2) |
Dec
(15) |
2016 |
Jan
(21) |
Feb
(6) |
Mar
(30) |
Apr
(12) |
May
(11) |
Jun
(4) |
Jul
(2) |
Aug
(7) |
Sep
(13) |
Oct
|
Nov
(6) |
Dec
(8) |
2017 |
Jan
(21) |
Feb
(5) |
Mar
(7) |
Apr
(3) |
May
|
Jun
(4) |
Jul
(18) |
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2018 |
Jan
(1) |
Feb
|
Mar
(2) |
Apr
(1) |
May
(4) |
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
(1) |
2019 |
Jan
|
Feb
|
Mar
(1) |
Apr
(1) |
May
|
Jun
|
Jul
(4) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(2) |
2020 |
Jan
|
Feb
|
Mar
|
Apr
(2) |
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2021 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2022 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2023 |
Jan
|
Feb
(3) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
2024 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(2) |
Nov
|
Dec
|
From: Nate R. <gn...@ho...> - 2011-04-07 00:27:14
|
I've subclassed FileAppender with my own custom class and I would like to use the log4cplus properties system to configure the logging to use the custom class. The problem is that it appears that the custom class needs to be registered with the AppenderFactory. However, it looks like the registration, although done at runtime with the call to initializeFactoryRegistry() from src/factory.cxx does the trick, it only registers the Appenders/etc that it's aware of. It also looks like the FactoryTemp and support classes are an implementation detail of factory.cxx and do not appear to be accessible externally. E.g. they are not defined in the factory header file. Is there a way to register custom Appenders/etc so that they can be used within a Property configuration? I'd like to have something like this: // log.properties log4cplus.rootLogger=DEBUG, Custom log4cplus.appenders.Custom=CustomNS::MyAppender ... Thanks! -Nate P.S. sorry for cross-posting this to the wilx list as well. |
From: Václav H. <v.h...@sh...> - 2011-01-16 11:20:11
|
log4cplus 1.0.4 has been released, finally. There are some SunOS compilation fixes and a TTCCLayout fix that makes TTCCLayout work as documented. -- VH Version 1.0.4 - Fixed bug #3101459 - TTCCLayout time is not in milliseconds since process start by default. - Fixed compilation of Non-Windows builds. - Fixed various compilation and linking issues on SunOS. Version 1.0.4-RC11 - Fixed bug #3083313, deadlock because of double locking when using ConfigurationWatchDogThread. - Improved portability to HP-UX and aCC compiler. - Added %b PatternLayout format specifier; it expands to file component of file path. - Fixed bug #3058706, compilation error on AIX in socket-unix.cxx. - Added %b pattern layout specifier. It expands to file name component of path name. - Fixed bug #3034758. Fixed infinite loop in Hierarchy::updateParents() when logger hierarchy name starts with a dot. - Fixed bug #3034748. Fixed infinite loop in PatternParser::extractOption() on missing '}'. 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 librar/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: Václav H. <v.h...@sh...> - 2010-10-24 09:09:30
|
log4cplus 1.0.4-RC11 has been released. There are 4 bug fixes and some portability to HP-UX improvements. -- VH Version 1.0.4-RC11 - Fixed bug #3083313, deadlock because of double locking when using ConfigurationWatchDogThread. - Improved portability to HP-UX and aCC compiler. - Added %b PatternLayout format specifier; it expands to file component of file path. - Fixed bug #3058706, compilation error on AIX in socket-unix.cxx. - Added %b pattern layout specifier. It expands to file name component of path name. - Fixed bug #3034758. Fixed infinite loop in Hierarchy::updateParents() when logger hierarchy name starts with a dot. - Fixed bug #3034748. Fixed infinite loop in PatternParser::extractOption() on missing '}'. 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 librar/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: Václav H. <v.h...@sh...> - 2010-10-05 09:36:29
|
On Thu, 30 Sep 2010 11:42:33 +0200, "machi01" <ma...@we...> wrote: > Dear Vaclav, > > thanks for your help, the code now compiles well. The version I am using is > log4plus-1.0.4-rc10. To get the code compiled under hpux I had to apply the > change to ndc.h line 46 and the same to line 263 as you wrote before. > > Another change was to be made in socketunix.cxx L 206 : > > socklen_t len = sizeof(struct sockaddr); > > had to be replaced by : > > int len = (int)sizeof(struct sockaddr); I have committed a change that should fix this problem differently. The code now works with any kind of accept() function. I have also removed the setting of _XOPEN_SOURCE_EXTENDED inside socket-unix.cxx. Please test the latest PRODUCTION_1_0_x branch. I did some research and the problem appears to be that HP-UX is trying to support too many different POSIX etc. standards, defaulting to the oldest one. From GCC documentation: ---8<------8<------8<------8<------8<--- -munix=unix-std Generate compiler predefines and select a startfile for the specified UNIX standard. The choices for unix-std are `93', `95' and `98'. `93' is supported on all HP-UX versions. `95' is available on HP-UX 10.10 and later. `98' is available on HP-UX 11.11 and later. The default values are `93' for HP-UX 10.00, `95' for HP-UX 10.10 though to 11.00, and `98' for HP-UX 11.11 and later. -munix=93 provides the same predefines as GCC 3.3 and 3.4. -munix=95 provides additional predefines for XOPEN_UNIX and _XOPEN_SOURCE_EXTENDED, and the startfile unix95.o. -munix=98 provides additional predefines for _XOPEN_UNIX, _XOPEN_SOURCE_EXTENDED, _INCLUDE__STDC_A1_SOURCE and _INCLUDE_XOPEN_SOURCE_500, and the startfile unix98.o. It is important to note that this option changes the interfaces for various library routines. It also affects the operational behavior of the C library. Thus, extreme care is needed in using this option. Library code that is intended to operate with more than one UNIX standard must test, set and restore the variable __xpg4_extended_mask as appropriate. Most GNU software doesn't provide this capability. ---8<------8<------8<------8<------8<--- I suggest that you also read <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17005>, search for "__xpg4_extended_mask". Basically, I think that you should compile log4cplus with the aCC <http://h21007.www2.hp.com/portal/download/files/unprot/aCxx/Online_Help/options.htm> equivalent of GCC's -munix= option added to CXXFLAGS and CFLAGS, the value depending on which one of the POSIX standards does your use. I still have no idea what to do with the linker error. I think I would need some real HP-UX shell to debug thinks on to solve it. -- VH |
From: Václav H. <v.h...@sh...> - 2010-09-30 08:32:42
|
On Thu, 30 Sep 2010 08:34:10 +0200, "Bernd Macheleidt" <> wrote: > Hi, > > I have tried to compile log4cplus under hpux ver M-11/16/88f using aCC from > HP. Configure runs fine and without problems, but make produces the > following error : > > > make > No suffix list. > Making all in include > No suffix list. > No suffix list. > cd .. && make am--refresh > No suffix list. > No suffix list. > Making all in src > No suffix list. > cd .. && make am--refresh > No suffix list. > No suffix list. > source='appenderattachableimpl.cxx' > object='appenderattachableimpl.lo' libtool=yes \ > DEPDIR=.deps depmode=hp2 /bin/sh ../depcomp \ > /bin/sh ../libtool --tag=CXX --mode=compile > aCC -DHAVE_CONFIG_H -DINSIDE_LOG4CPLUS -I../include -I../include -DNDEBUG -D > _REENTRANT -no-suppress -g -v -D_REENTRANT -mthreads -c -o > appenderattachableimpl.lo appenderattachableimpl.cxx > libtool: compile: > aCC -DHAVE_CONFIG_H -DINSIDE_LOG4CPLUS -I../include -I../include -DNDEBUG - > D_REENTRANT -g -v -D_REENTRANT -mthreads -c +Maked > appenderattachableimpl.cxx -DPIC -o .libs/appenderattachableimpl.o > aCC: warning 901: unknown option: `-hreads': use +help for online > documentation. > CXXOPTS=-AA -O2 -mt -D_FILE_OFFSET_BITS=64 -I. -I/home/evcfs/entw/main -I/ho > me/evcfs/entw/libs/libtos -I/home/evcfs/entw/libs/libutil -I/home/evcfs/entw > /libs/sqlite -L/home/evcfs/entw/libs -L/home/evcfs/libs -ext > /opt/aCC/lbin/ecom -architecture 32 -makedepend file -ia64abi all -inst > compiletime -ext on -sysdir /usr/include -test namespaces -koenig_lookup > on -ansi_for_scope on -inline_power 2 -link_type dynamic -fpeval > float -tls_dyn on -mt on -o .libs/appenderattachableimpl.o -xmath_ielf_path > /opt/aCC/lib/hpux32/libmielf -target_os > 11.31 -I. -I/home/evcfs/entw/main -I/home/evcfs/entw/libs/libtos -I/home/evc > fs/entw/libs/libutil -I/home/evcfs/entw/libs/sqlite -I../include -I../includ > e --sys_include /opt/aCC/include_std --sys_include > /opt/aCC/include_std/iostream_compat --sys_include > /usr/include --sys_include > /usr -D_HP_IA64ABI -D__hpux -D__unix -D__ia64=1 -D_BIG_ENDIAN=1 -D__STDCPP__ > -D_HP_NAMESPACE_STD -D_ILP32 -D__cplusplus=199711L -D_INCLUDE__STDC_A1_SOUR > CE -D__HP_aCC=61500 -D_HP_INSTANTIATE_T_IN_LIB -D_REENTRANT -D_RWSTD_MULTI_T > HREAD -D_RW_MULTI_THREAD -D__HPACC_FIXED_REFCNT_MUTEX -D_HPUX_SOURCE -D_POSI > X_C_SOURCE=199506L -D_INCLUDE_LONGLONG -D_INLINE_ASM -D__BUILTIN_MILLI -D_BI > ND_LIBCALLS -D_Math_errhandling=MATH_ERREXCEPT -D_FLT_EVAL_METHOD=0 -D_FILE_ > OFFSET_BITS=64 -DHAVE_CONFIG_H -DINSIDE_LOG4CPLUS -DNDEBUG -D_REENTRANT -D_R > EENTRANT -DPIC -debug debugG1 -ucode > hdriver=optlevel%2% -plusolistoption -Ol06all! -plusolistoption -Ol12indirec > t! -plusolistoption -Ol13moderate! -plusooption -Oq02,al,ag,cn,sz,ic,vo,Mf,P > o,es,rs,Rf,Pr,sp,In,cl,om,vc,pi,fa,Pe,rr,pa,pv,nf,cp,Lx,Pg,ug,lu,lb,uj,dn,sg > ,pt,kt,em,np,ar,rp,dl,Fs,bp,wp,Pc,mp,lr,cx,cr,pi,so,Rc,fa,ft,fe,ap,st,lc,Bl, > sr,ib,pl,sd,ll,rl,dl,Lt,ol,fl,lm,ts,rd,Dp,If! appenderattachableimpl.cxx > "../include/log4cplus/ndc.h", line 274: error #3389: redeclaration cannot > add > dllexport/dllimport to "log4cplus::getNDC" (declared at line 266) > LOG4CPLUS_EXPORT NDC& getNDC(); > ^ > > 1 error detected in the compilation of "appenderattachableimpl.cxx". > *** Error exit code 1 > > Stop. > *** Error exit code 1 > > Stop. > > > Did anyone get this error before and found out how to solve this problem ? > Any help would be great. What version of the source are you using? Please try to change the code around line 40 of ndc.h, before the class NDC declaration to this: #if 1 || defined (_MSC_VER) LOG4CPLUS_EXPORT NDC& getNDC(); #endif IOW, make the declaration unconditional. -- VH |
From: Václav H. <wi...@us...> - 2010-09-22 17:03:22
|
Uday Naag wrote, On 22.9.2010 13:16: > Hi, > > We have seen a core in log4plus library. Backtrace for the same is below. Can > you please check if this is a known issue or please let me know what can > cause this. I see that the library SO version number is 2. That's probably log4cplus 1.0.2. Please try with the latest 1.0.4 release candidate instead. If it is repeatable, try to distil a testcase out of the code. And/or compile with debugging information and try to find out the reason for the access violation. The call stack below does not look familiar and I do not remember any bugs related to LogLevelManager any other relevant part of the call stack. > > > (gdb) bt > > #0 0x08150ed8 in ?? () > > #1 0xf6a40b42 in log4cplus::LogLevelManager::toString () > > from /usr/app/capc/CL_Agent/LTE/thirdparty/lib/liblog4cplus.so.2 > > #2 0xf6a4a07e in log4cplus::pattern::BasicPatternConverter::convert () > > from /usr/app/capc/CL_Agent/LTE/thirdparty/lib/liblog4cplus.so.2 > > #3 0xf6a47259 in log4cplus::pattern::PatternConverter::formatAndAppend () > > from /usr/app/capc/CL_Agent/LTE/thirdparty/lib/liblog4cplus.so.2 > > #4 0xf6a4763d in log4cplus::PatternLayout::formatAndAppend () > > from /usr/app/capc/CL_Agent/LTE/thirdparty/lib/liblog4cplus.so.2 > > #5 0xf6a32c04 in log4cplus::RollingFileAppender::append () > > from /usr/app/capc/CL_Agent/LTE/thirdparty/lib/liblog4cplus.so.2 > > #6 0xf6a22b93 in log4cplus::Appender::doAppend () > > from /usr/app/capc/CL_Agent/LTE/thirdparty/lib/liblog4cplus.so.2 > > #7 0xf6a214cc in > log4cplus::helpers::AppenderAttachableImpl::appendLoopOnAppenders () > > from /usr/app/capc/CL_Agent/LTE/thirdparty/lib/liblog4cplus.so.2 > > #8 0xf6a3eee9 in log4cplus::spi::LoggerImpl::callAppenders () > > from /usr/app/capc/CL_Agent/LTE/thirdparty/lib/liblog4cplus.so.2 > > #9 0xf6a3eb08 in log4cplus::spi::LoggerImpl::forcedLog () > > from /usr/app/capc/CL_Agent/LTE/thirdparty/lib/liblog4cplus.so.2 > > #10 0xf6a3dd0b in log4cplus::Logger::forcedLog () > > from /usr/app/capc/CL_Agent/LTE/thirdparty/lib/liblog4cplus.so.2 > > #11 0x0806297f in readFromTCPClient () > > #12 0x4f669e49 in ?? () from /lib/libpthread.so.0 > > #13 0xf580b2ac in ?? () > > #14 0xf35ff480 in ?? () > > #15 0xf35ff480 in ?? () > > #16 0xf35ff480 in ?? () > > #17 0xf35ff480 in ?? () > > #18 0x00000000 in ?? () -- VH |
From: Václav H. <v.h...@sh...> - 2010-07-30 13:07:49
|
On Mon, 19 Jul 2010 13:59:24 +0200, Hannah Schroeter wrote: > Hello! > > I submitted a patch to format the result of gettid() in patternlayout a > few months ago. It got rejected in the submitted state, for > understandable reasons, and Václav Haisman said he'd like to develop own > code to support the feature wish behind my patch. > > I'd just like to ask whether I expect that to happen, and if so, just > roughly when. > > And if not, whether perhaps I should do something, and perhaps if people > could give me some hints towards what I should look for to have things > be more acceptable than my original patch. I have committed a variation of your patch to trunk. I have decided not to port it back to 1.0. -- VH |
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 |
From: Hannah S. <han...@1u...> - 2010-07-19 11:59:32
|
Hello! I submitted a patch to format the result of gettid() in patternlayout a few months ago. It got rejected in the submitted state, for understandable reasons, and Václav Haisman said he'd like to develop own code to support the feature wish behind my patch. I'd just like to ask whether I expect that to happen, and if so, just roughly when. And if not, whether perhaps I should do something, and perhaps if people could give me some hints towards what I should look for to have things be more acceptable than my original patch. Thanks in advance, Hannah. |
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. <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: Václav H. <v.h...@sh...> - 2010-06-14 11:26:27
|
On Wed, 2 Jun 2010 16:06:21 +0200, Hannah Schroeter wrote: >[...] > 0005 makes it possible to limit the depth of the NDC in the pattern > layout. I have just noticed that the %X format specifier collides with MDC specifier of log4j. The aim of log4cplus is to be compatible (where possible) with log4j and overloading the %X like this would go contrary to the aim. I will be reverting that bit of the patch. Unless you have any better ideas, I am going to add a property to the PatternLayout through which it should be possible to set the NDC depth limit. What about "NDCMaxDepth"? -- VH |
From: Václav H. <v.h...@sh...> - 2010-06-07 12:45:26
|
On Mon, 7 Jun 2010 12:57:59 +0200, Hannah Schroeter wrote: > Hi! > > On Thu, Jun 03, 2010 at 11:16:30AM +0200, Václav Haisman wrote: > >>On Wed, 2 Jun 2010 16:06:21 +0200, Hannah Schroeter wrote: > >>> On Wed, Jun 02, 2010 at 12:01:33AM +0200, Václav Haisman wrote: >>>>[...] > >>>>Yes, I will consider any patches you send. > >>>>[...] > >>>>The best for me is if you base the patches on the HEAD revision of e.g. >>>>PRODUCTION_1_0_x branch. But it does not matter much, I can deal with >>>>patches >>>>against release source as well. > >>> No problem, rebasing them wasn't difficult. > >>>>> Based on your feedback, I could send you the other patches which would >>>>> encompass another fix for a possible problem we noticed here in our >>>>> company, and a few feature additions we've come to depend upon here. > >>>>Please send the patches. I will consider each one of them separately. >>Use >>>>either the mailing list or the patches tracker on SF, whichever is more >>>>comfortable. > >>> Sending them here. > >>> Little explanations. > >>> 0001 seems to fix a bug for the syslog appender in some cases (if either >>> log4cplus uses wstrings and thus LOG4CPLUS_TSTRING_TO_STRING returns a >>> temporary, or the identifier is derived from a property, so the >>> identifier is always a temporary). At least glibc always stores the >>> char* you pass it, instead of copying it by itself. > >>Applied with minor changes. > > Thanks. > >>> 0002 is a feature addition we needed in house. log4cplus already >>> supports logging of the thread ID returned by pthread_self, however, for >>> us that wasn't as useful as the gettid() id, as they're different and ps >>> shows only the latter (Linux uses 1:1 threading). > >>I am rejecting this patch. I am not against the idea of this but the >>implementation needs some polishing first. > >>The thread ID needs to be part of the InternalLoggingEvent instance >>because the events can be passed around between threads and the thread >>that >>is formatting the output does not have to be the same thread in which the >>event has occurred. > > Our patch seemed to work for us. So in which cases is the event passed > to different threads before finally being logged? There is not a place in 1.0.x source that passes events between threads. There is such place in 1.1.x (AsyncAppender). And I know there are people with who are using their own appenders in which case there is a possibility they pass events between threads. > >>The thread ID is also not passed through SocketAppender >>but you can ignore that, it is a similar situation as with %h/%H format >>specifier for host name which does not make it through either. > >>I think that %T should expand to the same string as %t does when the given >>OS does not have any meaningful gettid()-like function. > > That's a valid concern indeed (as is probably your above one), so I > think your decision to appreciate the idea but to reject the particular > implementation in favor of a better one is valid. > >>> 0003 is a feature addition analogous to acces the behavior of >>> openlog itself, namely being able to pass the NULL pointer to openlog to >>> access a default. > >>Applied with minor changes. > >>> 0004 makes the syslog *facility* configurable, instead of only being >>> able to use the default (LOG_USER). > >>Applied with minor changes. > > These two commits (r1352, r1353) introduce a useless use of "static" in > the anonymous namespace. See the patch attached. I agree that at first glance they are useless and go contrary to what the C++ standard suggests. But they have a meaning. Symbols in anonymous namespace have external linkage. In older Cygwin versions and on systems that do not have GCC's -fvisibility=hidden support such symbols get exported in shared objects/DLLs. Adding the static keyword removes them from the exports. > >>> 0005 makes it possible to limit the depth of the NDC in the pattern >>> layout. > >>I have not had the time to apply the patch, yet, but I think is it looks >>ok and I will accept it. > > Seems you've committed it in-between, at least on the PRODUCTION_1_0_x > branch. > >>I am going to work on the thread ID patch myself, using yours as a >>starting point, but I am going release RC9 first with only the rest of the >>patches applied. > >>Thanks. > > Thank you too. -- VH |
From: Hannah S. <han...@1u...> - 2010-06-07 10:58:06
|
Hi! On Thu, Jun 03, 2010 at 11:16:30AM +0200, Václav Haisman wrote: >On Wed, 2 Jun 2010 16:06:21 +0200, Hannah Schroeter wrote: >> On Wed, Jun 02, 2010 at 12:01:33AM +0200, Václav Haisman wrote: >>>[...] >>>Yes, I will consider any patches you send. >>>[...] >>>The best for me is if you base the patches on the HEAD revision of e.g. >>>PRODUCTION_1_0_x branch. But it does not matter much, I can deal with >>>patches >>>against release source as well. >> No problem, rebasing them wasn't difficult. >>>> Based on your feedback, I could send you the other patches which would >>>> encompass another fix for a possible problem we noticed here in our >>>> company, and a few feature additions we've come to depend upon here. >>>Please send the patches. I will consider each one of them separately. >Use >>>either the mailing list or the patches tracker on SF, whichever is more >>>comfortable. >> Sending them here. >> Little explanations. >> 0001 seems to fix a bug for the syslog appender in some cases (if either >> log4cplus uses wstrings and thus LOG4CPLUS_TSTRING_TO_STRING returns a >> temporary, or the identifier is derived from a property, so the >> identifier is always a temporary). At least glibc always stores the >> char* you pass it, instead of copying it by itself. >Applied with minor changes. Thanks. >> 0002 is a feature addition we needed in house. log4cplus already >> supports logging of the thread ID returned by pthread_self, however, for >> us that wasn't as useful as the gettid() id, as they're different and ps >> shows only the latter (Linux uses 1:1 threading). >I am rejecting this patch. I am not against the idea of this but the >implementation needs some polishing first. >The thread ID needs to be part of the InternalLoggingEvent instance >because the events can be passed around between threads and the thread that >is formatting the output does not have to be the same thread in which the >event has occurred. Our patch seemed to work for us. So in which cases is the event passed to different threads before finally being logged? >The thread ID is also not passed through SocketAppender >but you can ignore that, it is a similar situation as with %h/%H format >specifier for host name which does not make it through either. >I think that %T should expand to the same string as %t does when the given >OS does not have any meaningful gettid()-like function. That's a valid concern indeed (as is probably your above one), so I think your decision to appreciate the idea but to reject the particular implementation in favor of a better one is valid. >> 0003 is a feature addition analogous to acces the behavior of >> openlog itself, namely being able to pass the NULL pointer to openlog to >> access a default. >Applied with minor changes. >> 0004 makes the syslog *facility* configurable, instead of only being >> able to use the default (LOG_USER). >Applied with minor changes. These two commits (r1352, r1353) introduce a useless use of "static" in the anonymous namespace. See the patch attached. >> 0005 makes it possible to limit the depth of the NDC in the pattern >> layout. >I have not had the time to apply the patch, yet, but I think is it looks >ok and I will accept it. Seems you've committed it in-between, at least on the PRODUCTION_1_0_x branch. >I am going to work on the thread ID patch myself, using yours as a >starting point, but I am going release RC9 first with only the rest of the >patches applied. >Thanks. Thank you too. Kind regards, Hannah. |
From: Václav H. <v.h...@sh...> - 2010-06-03 20:56:04
|
log4cplus 1.0.4-RC9 has been released. The most important change is a fix to compilation failure that has appeared in RC9. -- VH 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 librar/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: Václav H. <v.h...@sh...> - 2010-06-03 09:16:40
|
On Wed, 2 Jun 2010 16:06:21 +0200, Hannah Schroeter wrote: > Hi! > > On Wed, Jun 02, 2010 at 12:01:33AM +0200, Václav Haisman wrote: >>[...] > >>Yes, I will consider any patches you send. > >>[...] > >>The best for me is if you base the patches on the HEAD revision of e.g. >>PRODUCTION_1_0_x branch. But it does not matter much, I can deal with >>patches >>against release source as well. > > No problem, rebasing them wasn't difficult. > >>> Based on your feedback, I could send you the other patches which would >>> encompass another fix for a possible problem we noticed here in our >>> company, and a few feature additions we've come to depend upon here. > >>Please send the patches. I will consider each one of them separately. Use >>either the mailing list or the patches tracker on SF, whichever is more >>comfortable. > > Sending them here. > > Little explanations. > > 0001 seems to fix a bug for the syslog appender in some cases (if either > log4cplus uses wstrings and thus LOG4CPLUS_TSTRING_TO_STRING returns a > temporary, or the identifier is derived from a property, so the > identifier is always a temporary). At least glibc always stores the > char* you pass it, instead of copying it by itself. Applied with minor changes. > > 0002 is a feature addition we needed in house. log4cplus already > supports logging of the thread ID returned by pthread_self, however, for > us that wasn't as useful as the gettid() id, as they're different and ps > shows only the latter (Linux uses 1:1 threading). I am rejecting this patch. I am not against the idea of this but the implementation needs some polishing first. The thread ID needs to be part of the InternalLoggingEvent instance because the events can be passed around between threads and the thread that is formatting the output does not have to be the same thread in which the event has occurred. The thread ID is also not passed through SocketAppender but you can ignore that, it is a similar situation as with %h/%H format specifier for host name which does not make it through either. I think that %T should expand to the same string as %t does when the given OS does not have any meaningful gettid()-like function. > > 0003 is a feature addition analogous to acces the behavior of > openlog itself, namely being able to pass the NULL pointer to openlog to > access a default. Applied with minor changes. > > 0004 makes the syslog *facility* configurable, instead of only being > able to use the default (LOG_USER). Applied with minor changes. > > 0005 makes it possible to limit the depth of the NDC in the pattern > layout. I have not had the time to apply the patch, yet, but I think is it looks ok and I will accept it. I am going to work on the thread ID patch myself, using yours as a starting point, but I am going release RC9 first with only the rest of the patches applied. Thanks. -- VH |
From: Hannah S. <han...@1u...> - 2010-06-02 14:06:28
|
Hi! On Wed, Jun 02, 2010 at 12:01:33AM +0200, Václav Haisman wrote: >[...] >Yes, I will consider any patches you send. >[...] >The best for me is if you base the patches on the HEAD revision of e.g. >PRODUCTION_1_0_x branch. But it does not matter much, I can deal with patches >against release source as well. No problem, rebasing them wasn't difficult. >> Based on your feedback, I could send you the other patches which would >> encompass another fix for a possible problem we noticed here in our >> company, and a few feature additions we've come to depend upon here. >Please send the patches. I will consider each one of them separately. Use >either the mailing list or the patches tracker on SF, whichever is more >comfortable. Sending them here. Little explanations. 0001 seems to fix a bug for the syslog appender in some cases (if either log4cplus uses wstrings and thus LOG4CPLUS_TSTRING_TO_STRING returns a temporary, or the identifier is derived from a property, so the identifier is always a temporary). At least glibc always stores the char* you pass it, instead of copying it by itself. 0002 is a feature addition we needed in house. log4cplus already supports logging of the thread ID returned by pthread_self, however, for us that wasn't as useful as the gettid() id, as they're different and ps shows only the latter (Linux uses 1:1 threading). 0003 is a feature addition analogous to acces the behavior of openlog itself, namely being able to pass the NULL pointer to openlog to access a default. 0004 makes the syslog *facility* configurable, instead of only being able to use the default (LOG_USER). 0005 makes it possible to limit the depth of the NDC in the pattern layout. Kind regards, Hannah. |
From: Hannah S. <han...@1u...> - 2010-06-02 13:55:14
|
Hi! On Wed, Jun 02, 2010 at 07:15:48AM +0200, Václav Haisman wrote: >Václav Haisman wrote, On 1.6.2010 23:54: >> Hannah Schroeter wrote, On 1.6.2010 17:38: >>> Sorry, missed the actual patch in the previous piece of mail. >> Thanks. Does adding #include <ctime> fix the problem too? It seems as a >> better fix than reverting the change. >Adding the include fixes the compilation failure for me on Gentoo. I have >committed the fix. Yup, that did it for me too. Kind regards, Hannah. |
From: Václav H. <v.h...@sh...> - 2010-06-02 05:16:02
|
Václav Haisman wrote, On 1.6.2010 23:54: > Hannah Schroeter wrote, On 1.6.2010 17:38: >> Hi! >> >> Sorry, missed the actual patch in the previous piece of mail. > Thanks. Does adding #include <ctime> fix the problem too? It seems as a > better fix than reverting the change. Adding the include fixes the compilation failure for me on Gentoo. I have committed the fix. -- VH |
From: Václav H. <v.h...@sh...> - 2010-06-01 22:01:44
|
Hannah Schroeter wrote, On 1.6.2010 17:37: > Hello! > > On Tue, Jun 01, 2010 at 06:59:45AM +0200, Václav Haisman wrote: >> log4cplus 1.0.4-RC8 has been released. The most interesting changes are >> portability fixes. log4cplus now builds and runs on OpenSolaris compiled >> using Sun C++ compiler. It has also been compiled and tested on >> OpenBSD/AMD64 4.7. > > Thanks for the new release. I've got a few patches on it (just rebased > them from RC7), and I'd like to ask whether you'd be ready to consider > them. Yes, I will consider any patches you send. > > The first one would be a compile fix for a compilation error that got > introduced with RC8 (Linux amd64, Debian unstable, gcc 4.4.3), and would > be a quite short patch, so I'd just add it as attachment, based on the > 1.0.4 rc8 tarball. If you'd like the patch (or further patches) be > rather based upon the svn trunk, I think I could manage to do that > instead of basing them upon the latest release. The best for me is if you base the patches on the HEAD revision of e.g. PRODUCTION_1_0_x branch. But it does not matter much, I can deal with patches against release source as well. > > Based on your feedback, I could send you the other patches which would > encompass another fix for a possible problem we noticed here in our > company, and a few feature additions we've come to depend upon here. Please send the patches. I will consider each one of them separately. Use either the mailing list or the patches tracker on SF, whichever is more comfortable. -- VH |
From: Václav H. <v.h...@sh...> - 2010-06-01 21:55:01
|
Hannah Schroeter wrote, On 1.6.2010 17:38: > Hi! > > Sorry, missed the actual patch in the previous piece of mail. Thanks. Does adding #include <ctime> fix the problem too? It seems as a better fix than reverting the change. -- VH |
From: Hannah S. <han...@1u...> - 2010-06-01 15:50:11
|
Hello! On Tue, Jun 01, 2010 at 06:59:45AM +0200, Václav Haisman wrote: >log4cplus 1.0.4-RC8 has been released. The most interesting changes are >portability fixes. log4cplus now builds and runs on OpenSolaris compiled >using Sun C++ compiler. It has also been compiled and tested on >OpenBSD/AMD64 4.7. Thanks for the new release. I've got a few patches on it (just rebased them from RC7), and I'd like to ask whether you'd be ready to consider them. The first one would be a compile fix for a compilation error that got introduced with RC8 (Linux amd64, Debian unstable, gcc 4.4.3), and would be a quite short patch, so I'd just add it as attachment, based on the 1.0.4 rc8 tarball. If you'd like the patch (or further patches) be rather based upon the svn trunk, I think I could manage to do that instead of basing them upon the latest release. Based on your feedback, I could send you the other patches which would encompass another fix for a possible problem we noticed here in our company, and a few feature additions we've come to depend upon here. Kind regards, Hannah. |
From: Hannah S. <han...@1u...> - 2010-06-01 15:49:28
|
Hi! Sorry, missed the actual patch in the previous piece of mail. Kind regards, Hannah. |
From: Václav H. <v.h...@sh...> - 2010-06-01 04:59:56
|
log4cplus 1.0.4-RC8 has been released. The most interesting changes are portability fixes. log4cplus now builds and runs on OpenSolaris compiled using Sun C++ compiler. It has also been compiled and tested on OpenBSD/AMD64 4.7. -- wilx 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: Václav H. <v.h...@sh...> - 2010-05-27 13:44:32
|
Hi. Just FYI, I have tested log4cplus' PRODUCTION_1_0_x branch with the C++ Builder 2010 and everything compiles. So far I have not found any fatal flaw and the tests seem to work well. This is definitely a major improvement compared to previous versions of the compiler. -- wilx |