Re: log4cxx/log4j interoperability
Based on Shea's request... I'm releasing this code under GPL3 for anyone else that may need it. I've uploaded the relevant files to google code: http://code.google.com/p/log4jforcpp/ Enjoy Renny Koshy President CEO Rubix Information Technologies, Inc. www.rubixinfotech.com Tonbsp;nbsp;log4cxx-user@logging.apache.org ccnbsp;nbsp; bccnbsp;nbsp; Subjectnbsp;nbsp; log4cxx/log4j interoperability Shea Ray-B27964 b27...@freescale.com 04/29/2010 09:44 AM MST HRfont size=-1Please respond to Log4CXX User log4cxx-user@logging.apache.org/fontHR font size=-1/font Apologies if this has been answered before, but I have been searching and haven't found an answer. We have an application that is a mix of Java and C++ code, and are wondering if we can use log4j and log4cxx together to log to the same file, assuming each is defined with appenders that point to the same file, and assuming both Java and C++ are running in the same process. Is this as simple as defining the proper FileAppenders on both the Java and C++ side, or do we have to use something like SocketAppenders? Our goal is to have a single unified log so that users don't have to try to correlate intertwined log messages from two different log files just because the log messages originated from within different code spaces. I've used log4j for years but am new to log4cxx. Thanks, Ray Shea Senior Software Engineer Freescale Semiconductor
Re: How can I know log4cxx is initialized?
Why don't you simply create a singleton instance of a class that will manage log4cxx for you? Then you can just query the singleton to see if it is initialized or not... or even just call the init() method of the singleton in all your DLL's... so the init will only happen once. Renny Koshy President CEO Rubix Information Technologies, Inc. www.rubixinfotech.com yaohua xiao bentry...@gmail.com 04/21/2009 09:29 PM Please respond to Log4CXX User log4cxx-user@logging.apache.org To log4cxx-user log4cxx-user@logging.apache.org cc Subject How can I know log4cxx is initialized? Hi all, I am new to log4cxx and have a mutiple dll project to use log4cxx for some logging task. My project has 3 dll modules: a.dll, b.dll, c.dll , all dlls need logging. log4cxx needs some initialize code such like BasicConfigurator::configure() , load properties files, to prepare the logger. Because i use import lib to load the dlls, i don't know which dll will load first. So I want to determine if log4cxx is initialized when I call log4cxx in each dll. Is there any api can tell user is log4cxx initialized? Thanks.
Re: How can I know log4cxx is initialized?
Or -- why not have an Initialize() method in ONE of the DLL's then all of the others can call Initialize(), which should only init the Log4CXX once? Renny Koshy President CEO Rubix Information Technologies, Inc. www.rubixinfotech.com Lijuan Zhu zhu.lij...@gmail.com 04/21/2009 10:25 PM Please respond to Log4CXX User log4cxx-user@logging.apache.org To Log4CXX User log4cxx-user@logging.apache.org cc Subject Re: How can I know log4cxx is initialized? Your project should have an entry point, like some Initialize method, if you initalize the log4cxx there, the log4cxx should be initialized for all other dlls. HTH, Lijuan On Wed, Apr 22, 2009 at 10:18 AM, yaohua xiao bentry...@gmail.com wrote: Renny, Thanks for your replay! I already have a singleton class called log4cxx_LogManager to manage log4cxx in all the dlls. But I found that every dll will have a copy of that singleton class, so the singleton manager log4cxx_LogManager is not single in the mutiple dll enviromnents.If let the log4cxx_LogManager do the log4cxx initialized stuff, will initialize more than one times. Because log4cxx is compiled into a dll, it has only one copy in runtime. So I want my log4cxx_LogManager query if log4cxx is initialzed first, if not, initialize it. otherwise, use the logger directly. If log4cxx.dll has some initialize flag or api, the problem will simply solve. 2009/4/22 renny.ko...@rubixinfotech.com Why don't you simply create a singleton instance of a class that will manage log4cxx for you? Then you can just query the singleton to see if it is initialized or not... or even just call the init() method of the singleton in all your DLL's... so the init will only happen once. Renny Koshy President CEO Rubix Information Technologies, Inc. www.rubixinfotech.com Hi all, I am new to log4cxx and have a mutiple dll project to use log4cxx for some logging task. My project has 3 dll modules: a.dll, b.dll, c.dll , all dlls need logging. log4cxx needs some initialize code such like BasicConfigurator::configure() , load properties files, to prepare the logger. Because i use import lib to load the dlls, i don't know which dll will load first. So I want to determine if log4cxx is initialized when I call log4cxx in each dll. Is there any api can tell user is log4cxx initialized? Thanks.
Re: How to build simplesocketserver binary file?
Since Log4CXX has a wire format that is compatible, you can download Log4J... it has a SimpleSocketServer. We use it for centralizing the logs into one file as well. The link to the docs are: http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/net/SimpleSocketServer.html Renny Koshy President CEO Rubix Information Technologies, Inc. www.rubixinfotech.com Esther Parrilla-Endrino eparril...@gmail.com 03/25/2009 03:55 AM Please respond to Log4CXX User log4cxx-user@logging.apache.org To Log4CXX User log4cxx-user@logging.apache.org cc carn...@apache.org Subject Re: How to build simplesocketserver binary file? Hi Curt, Thanks for your answer. My problem is that I have several processes writing concurrently in the same log file and all of them using log4cxx API, as far as I understood the simplesocketserver binary allowed me to centralize the management of all log messages avoiding problems with concurrency, my idea was to add a SocketAppender in my log4cxx.properties file that redirects all log messages coming from the different applications to the simplesocketserver binary so it can manage that and write properly all messages in the same log file. Now you tell me that in log4cxx version 0.10 thay have dropped the distribution of this binary file, which is a bad news for me... Have you got an idea of any other application similar to simplesocketserver that I couls use for my purposes? Do you know if is possible to get the source code of the simplesocketserver binary for me to recompile it with log4cxx 0.10? Thanks in advance, Mh 2009/3/25 Curt Arnold carn...@apache.org On Mar 24, 2009, at 10:19 AM, Moley Harey wrote: Hi, I have downloaded apache-log4cxx-0.10.0.tar.gz from Apacheś log4cxx web site and built the lib using the commands: configure, make, make install After that the lirbrary has been successfully built but the binary file simplesocketserver has not been generated :/ How can I get that? Thanks in advance, Mh In log4cxx 0.10, the binary format for the SocketAppender was changed to be compatible with log4j 1.2's, so that Chainsaw and any other application that could connect to log4j's SocketAppender. However, that support is write-only, it is fairly simple to write something that log4j can consume, but massively complicated to consume anything the log4j might produce. Since there log4cxx was compatible with log4j's binary format and log4j provides SocketReceivers, simplesocketserver was dropped. Also, The log4cxx 0.9.7 wire format was not platform independent, a x86_64 build could not connect to a x86 build or a little-endian to a big-endian. -- Wer von seinem Tag nicht zwei Drittel für sich hat, ist ein Sklave. - F. Nietzsche, Menschliches, Allzumenschliches I, Aph. 283
Re: File system full causes log4cxx to crash
I agree wholeheartedly If it gets into something like the scenario mentioned below, maybe the logger can put a syslog entry, or console/stderr output (as configured by the user in some global setting)? Renny Koshy [EMAIL PROTECTED] (J.T. Conklin) 09/23/2008 01:12 PM Please respond to Log4CXX User log4cxx-user@logging.apache.org To Log4CXX User log4cxx-user@logging.apache.org cc Subject Re: File system full causes log4cxx to crash Jacob L. Anawalt [EMAIL PROTECTED] writes: I am glad it worked out for you. At the same time I am concerned that you had to do this and I didn't. I would like to reproduce the problem so that I can handle it, preferably without putting try/catch around every logging statement... Some time back, I sent a message to the list asking what the behavior of an appender that throws an exception should be. As it is, a stray exception can unwind all the way through the library into the calling code. To my mind, wrapping log invocations with try/catch blocks isn't a completely satisfactory solution, as if you have multiple appenders associated with a logger, the exception will prevent subsequent appenders from being invoked. Personally, I think log4cxx should provide a guarantee that a log invocation will not throw an exception under any circumstances. One of the common use cases for emitting a log event is when you're in a error handling path, the last thing you want to worry about is the logging framework making hash of things. Two alternatives that come to mind are that every appender's append() method needs to have a try/catch block to squelch any exceptions, or that the appendLoopOnAppenders should have a try/catch block around each call to doAppend() invocation. Or since all it takes is one bad appender (and even if all appenders that are distributed with log4cxx are fixed, there's no guarantee that user's appenders will also be), a hybrid of the two approaches where the try/catch block around doAppend() logs an internal message about the unhandled exception. Basically, a framework shouldn't allow a callback to subvert or compromise the function of the framework itself. --jtc -- J.T. Conklin
RE: File system full causes log4cxx to crash
Peter - To add to your comments: In our systems (real-time call processing engines for carrier networks) a s/w fault is many orders of magnitude worse than no logs being available. One thing that happens in our customer environments is that when something goes wrong... the IT/sysadmin folks will look at syslog entries -- and if the appender or logger framework were to log something they'd see it. The more 'process' oriented companies will have their NOC's review the logs and trap major issues as soon as they happen. Renny Koshy Peter Steele [EMAIL PROTECTED] 09/23/2008 01:26 PM Please respond to Log4CXX User log4cxx-user@logging.apache.org To Log4CXX User log4cxx-user@logging.apache.org cc Subject RE: File system full causes log4cxx to crash I’ll add my own agreement to this. It’s not acceptable for a logger to crash an application when the volume becomes full. My solution to use a try/catch works for us for now since we only have a single appender, but as was mentioned below if we decided to add a second appender the try/catch is a very big hammer, potentially preventing the other appender from running. Still, it’s better than the application crashing on us. From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Tuesday, September 23, 2008 10:20 AM To: Log4CXX User Subject: Re: File system full causes log4cxx to crash I agree wholeheartedly If it gets into something like the scenario mentioned below, maybe the logger can put a syslog entry, or console/stderr output (as configured by the user in some global setting)? Renny Koshy [EMAIL PROTECTED] (J.T. Conklin) 09/23/2008 01:12 PM Please respond to Log4CXX User log4cxx-user@logging.apache.org To Log4CXX User log4cxx-user@logging.apache.org cc Subject Re: File system full causes log4cxx to crash Jacob L. Anawalt [EMAIL PROTECTED] writes: I am glad it worked out for you. At the same time I am concerned that you had to do this and I didn't. I would like to reproduce the problem so that I can handle it, preferably without putting try/catch around every logging statement... Some time back, I sent a message to the list asking what the behavior of an appender that throws an exception should be. As it is, a stray exception can unwind all the way through the library into the calling code. To my mind, wrapping log invocations with try/catch blocks isn't a completely satisfactory solution, as if you have multiple appenders associated with a logger, the exception will prevent subsequent appenders from being invoked. Personally, I think log4cxx should provide a guarantee that a log invocation will not throw an exception under any circumstances. One of the common use cases for emitting a log event is when you're in a error handling path, the last thing you want to worry about is the logging framework making hash of things. Two alternatives that come to mind are that every appender's append() method needs to have a try/catch block to squelch any exceptions, or that the appendLoopOnAppenders should have a try/catch block around each call to doAppend() invocation. Or since all it takes is one bad appender (and even if all appenders that are distributed with log4cxx are fixed, there's no guarantee that user's appenders will also be), a hybrid of the two approaches where the try/catch block around doAppend() logs an internal message about the unhandled exception. Basically, a framework shouldn't allow a callback to subvert or compromise the function of the framework itself. --jtc -- J.T. Conklin
RE: File system full causes log4cxx to crash
Peter - Sorry, been a bit busy lately, and missed this one... I don't believe it's a controllable behavior, from what I recall it is an OS level behavior on what happens when it is out of resources. I've seen apps not using Log4CXX do the same thing. Or worse, I've seen apps get stuck. The only solution we've seen -- as a general case -- is to monitor the volume via SNMP or using a simple script, and notify the admins BEFORE it fails. Regards, Renny Koshy Peter Steele [EMAIL PROTECTED] 09/20/2008 01:37 PM Please respond to Log4CXX User log4cxx-user@logging.apache.org To Log4CXX User log4cxx-user@logging.apache.org cc Subject RE: File system full causes log4cxx to crash Does not one have any comments on this? Surely someone must have experienced this scenario, specially the volume where logs are being recorded becoming filled up. From: Peter Steele [mailto:[EMAIL PROTECTED] Sent: Friday, September 19, 2008 11:46 AM To: Log4CXX User Subject: File system full causes log4cxx to crash We’ve experienced several cases of our logging volume becoming full during the course of execution of our application. What we would like to happen in this case is simply to lose any log further messages that are written after the file system becomes full, but what happens instead is log4cxx crashes and brings down our application. We’re using the RollingFileAppender on a Unix box. Is there some way to configure log4cxx to behave a little less drastically in a case like this? Ideally, the best behavior in a case like this would be for log4cxx to delete the oldest backup log file and continue logging, but even simply suspending logging would be better than a crash. Any suggestions?
RE: Is this a bug or user error?
Peter - We've had the exact same requirement on platform we did, which used Log4j... and ended up running the included SocketServer app and then logging everything to the socket-server, which actually wrote out the combined file. Renny Koshy President CEO Rubix Information Technologies, Inc. www.rubixinfotech.com Peter Steele [EMAIL PROTECTED] 08/18/2008 10:35 AM Please respond to Log4CXX User log4cxx-user@logging.apache.org To Log4CXX User log4cxx-user@logging.apache.org cc Subject RE: Is this a bug or user error? A multi-file-appender would be a great addition. I guess in the meantime the only solution is to either have all of the applications log to their own log file or implement a log server. We clearly can't continue to use the configuration we have now... -Original Message- From: Curt Arnold [mailto:[EMAIL PROTECTED] Sent: Friday, August 15, 2008 11:27 AM To: Log4CXX User Subject: Re: Is this a bug or user error? On Aug 15, 2008, at 10:59 AM, Peter Steele wrote: We use the DailyRollingAppender, defined as follows in our config file: appender name=FILE class=org.jboss.logging.appender.DailyRollingFileAppender errorHandler class=org.jboss.logging.util.OnlyOnceErrorHandler/ param name=File value=logfile/ param name=Append value=true/ !-- Rollover at midnight each day -- param name=DatePattern value='.'-MM-dd/ layout class=org.apache.log4j.PatternLayout param name=ConversionPattern value=%d %-5p [%c{1}] %m%n/ /layout /appender Several applications log to the same log file using this appender. What's happening is when the rollover occurs at midnight, some processes still log to the original file, which has now been renamed, whereas others log to the main log file as they should. I'm suspecting that this is an error on our part and we should not have multiple processes all log to the same file, although I've heard that others do this. What's the solution? log4cxx's RFAs mimics log4j's RFAs and having multiple independent applications attempt to write to the same location is a common misconfiguration problem in the log4j world. There is no mechanism (at least using java.io) to detect the situation, so the best we can do is to tell people not to do it. You are apparently running on non-Windows platform. What is occurring is that one application rolls over renaming the previous log file and creates the new log file, when other applications decide that it is time to roll over, then fail to create the new log file and continue to write to their old handle (which has been renamed since they originally opened it). There has been a long stalled initiative to develop a MultiFileAppender for log4j which may handle the situation more gracefully (not its main objective), but that development has been stalled for a year or so.
Re: log4cxx and localtime( thislogtime) in vc++ 8.0
v0.9.7 does some stuff to the timezone settings... I had the same issue... I ended up forcefully saving/resetting my TZ settings to make it work. Renny Koshy President CEO RUBIX Information Technologies, Inc. www.rubixinfotech.com narts [EMAIL PROTECTED] 03/25/2008 11:49 AM Please respond to Log4CXX User log4cxx-user@logging.apache.org To log4cxx-user@logging.apache.org cc Subject log4cxx and localtime( thislogtime) in vc++ 8.0 i am using log4cxx-0.9.7 with visual studio 2005 on Windows Server 2003 Enterprise Edition. When is use log4cxx and win32 function localtime( thislogtime) localtime() is retriving the wrong time when is exclude log4cxx, it is working fine sample code is root = Logger::getRootLogger(); logger = Logger::getLogger(_T(loggger.testlog)); DOMConfigurator::configure(_T(../config/log4cxx.xml)); . . . time_t thislogtime; time( thislogtime ); newtime=localtime( thislogtime) ; sprintf_s(timeFormatTime,_MAX_PATH,%d:%d:%d,newtime-tm_hour,newtime-tm_min,newtime-tm_sec); . is it a bug in log4cxx-0.9.7? please any help. Thanks narts -- View this message in context: http://www.nabble.com/log4cxx-and-localtime%28--thislogtime%29-in-vc%2B%2B-8.0-tp16276522p16276522.html Sent from the Log4cxx - Users mailing list archive at Nabble.com.
Re: [VOTE][RECALL] log4cxx 0.10.0-rc2
Curt There were two more issues with patches that I had provided for the Sun One Studio (related to facets) against LOG4CXX-62.. Here is a copy of the comments: Additional fixes needed for Solaris + Sun One Studio... since the STL implementation has issues returning the template param for has_facet and use_facet: diff -r apache-log4cxx-0.10.0/src/main/cpp/simpledateformat.cpp /export/home/renny/apache-log4cxx-0.10.0 /src/main/cpp/simpledateformat.cpp 45a46 #ifndef _RWSTD_NO_TEMPLATE_ON_RETURN_TYPE 47a49,52 #else #define HAS_FACET(locale, type) std::has_facet(locale,(type *)0) #define USE_FACET(locale, type) std::use_facet(locale,(type *)0) #endif diff -r apache-log4cxx-0.10.0 /src/test/cpp/helpers/datetimedateformattestcase.cpp /export/home/renny/apache-log4cxx-0.10.0/src/test/cpp/helpers/dat etimedateformattestcase.cpp 187a188 #ifndef _RWSTD_NO_TEMPLATE_ON_RETURN_TYPE 189a191,194 #else std::use_facet(locale,(std::time_putlogchar *)0) .put(buffer, buffer, buffer.fill(), date, fmt.c_str(), fmt.c_str() + fmt.length()); #endif Renny Koshy President CEO RUBIX Information Technologies, Inc. www.rubixinfotech.com Curt Arnold [EMAIL PROTECTED] rgTo Log4CXX Dev 02/27/2008 02:55 [EMAIL PROTECTED] AM cc Log4CXX User log4cxx-user@logging.apache.org, Please respond to Logging General Log4CXX Dev [EMAIL PROTECTED] [EMAIL PROTECTED] Subject ing.apache.org [VOTE][RECALL] log4cxx 0.10.0-rc2 Based on the feedback from the mailing lists, as release manager, I'm recalling log4cxx-0.10.0-rc2 from consideration and expect to prepare another release candidate in a few days. Additional feedback on the release candidate is still desired. This is a quick list of items that should be resolved in the next RC: Extra semi-colons on expansion of LOG4CXX_PTR_DEF causes compile error on Sun Studio 8 (fixed in SVN) Broken include directories for APR and APR-Util in Visual Studio projects (LOGCXX-247). XCode project file assumes Mac OS/X 10.5. Release should include configure and supporting files produced by autogen.sh. I will review the new comments on LOGCXX-231. The most recent comments looked a new bug unrelated to the original and didn't have enough information to diagnose. I'd like to consider adding an DllRegisterServer and DllUnregisterServer entry point for NTEventLogAppender to register the message resource for the Event Log viewer. Currently the resources are attempted to be added on a logging request if they keys are not present. However, that can be a privileged operation that should be done at install time which the user may have agreed to elevated privileges. Makes sense for a log4cxx.dll, but don't think it makes sense during a static library. Probably have static members in NTEventLogAppender for the registration and unregistration and have the standard entry points just delegate to those methods.
Re: [VOTE] log4cxx 0.10.0 release candidate
I found out the hard way that you should use the shell-script (autogen) that is provided to do the autoconfig Renny Koshy President CEO RUBIX Information Technologies, Inc. www.rubixinfotech.com [EMAIL PROTECTED] s.com (J.T. Conklin) To Log4CXX User 02/26/2008 05:03 log4cxx-user@logging.apache.org PM cc Log4CXX Dev [EMAIL PROTECTED] Please respond to Subject Log4CXX User Re: [VOTE] log4cxx 0.10.0 release [EMAIL PROTECTED] candidate ging.apache.org Andreas Fester [EMAIL PROTECTED] writes: I dont currently have much time to work on log4cxx, but a quick review of the .tar.gz file at least showed that the UNIX configure script is missing. This results in a dependency on the GNU autotools to generate the configure script and the Makefile.in's before building, instead of the straightforward ./configure; ./make; ./make install. I think this is a reasonably big deal. I tried a quick autoreconf -ivf which failed because the APR_FIND_APR macro was not distributed with lib4cxx and find_apr.m4 isn't installed in /usr/pkg/share/aclocal as part of NetBSD's apr package. Using the ant build system would add a build dependency on Java, which looks a littlebit heavy for me. Using ant isn't even an option for systems where Java is not available. I'll see what I can do to jump this hurdle so I can report whether there are any other problems beyond configure. --jtc -- J.T. Conklin
Re: [VOTE] log4cxx 0.10.0 release candidate
Found a couple of issues on Solaris 8 with Sun One Studio: Issue 1. The ant build doesn't work === It gives errors about nested comments in the project element. I also noticed that ant thinks we're trying to build on Windows. The command I used was: ant -Dapr.dir=/export/home/renny/apr-1.2.12 -Dapr-util.dir=/export/home/renny/apr-util-1.2.12 -Dcompiler=CC -Ddebug=true This is with the latest ant. So... I switched to the autoconf/automake build... Issue 2. Most of the headers that use LOG4CXX_PTR_DEF have a semicolon (;) following the invocation of that macro. = Unfortunately, Sun Studio sees this as an error, and stops. I fixed it by running the following command, which removed the semi-colon following the invocation of the macro. I also noticed that some files already had the correct usage. find . -name \*.h|xargs grep -l PTR_DEF.*;$| xargs -i -t perl -i -p -e s/(PTR_DEF[^;]*);$/\1/ {} The only one that was missed was smtpappender.h, which apparently has lots of spaces after the invokation, thereby causing my search/replace to fail on it (I had not antcipated that). So I manually edited the file: src/main/include/log4cxx/net/smtpappender.h Status: = Right now I'm stuck on some locale issues... will keep posting updates as I have them. Renny Koshy President CEO RUBIX Information Technologies, Inc. www.rubixinfotech.com Curt Arnold [EMAIL PROTECTED] rgTo Log4CXX Dev 02/23/2008 04:36 [EMAIL PROTECTED] AM cc Log4CXX User log4cxx-user@logging.apache.org, Please respond to Logging General Log4CXX User [EMAIL PROTECTED] [EMAIL PROTECTED] Subject ging.apache.org [VOTE] log4cxx 0.10.0 release candidate log4cxx 0.10.0 RC2 is now available for review for release on the unofficial builds area. This release candidate is strictly provided for consideration for release, may be withdrawn and will be removed from the publication location at the conclusion of the voting period. RC2 is currently available at: http://people.apache.org/builds/logging/log4cxx/0.10.0 /apache-log4cxx-0.10.0-rc2.tar.gz MD5(apache-log4cxx-0.10.0-rc2.tar.gz)= e50730742e18d3a72aa17ae1c2c673ce http://people.apache.org/builds/logging/log4cxx/0.10.0 /apache-log4cxx-0.10.0-rc2.zip MD5(apache-log4cxx-0.10.0-rc2.zip)= f8b4f9855a2088aa14654885cd9535f0 The corresponding web content can be viewed directly from the staging SVN: http://svn.apache.org/repos/asf/logging/site/trunk/docs/log4cxx/index.html The corresponding source is available at: svn co http://svn.apache.org/repos/asf/logging/log4cxx/tags/v0_10_0-rc2 log4cxx 0.10.0 RC1 was withdrawn before publication. I believe that the release candidate is viable for release with two condition, the publication of a corresponding 1.0b5 of cpptasks and the conclusion of a vote by February 29th. Rev 158 of cpptasks was used in the preparation of the release candidate and the generated project files should not change. I'm a project admin of cpptasks and intend to have that release out by mid-week next week. The change log has a prospective release date of 2008-02-29, if procedural issues make that date unobtainable then a rebuild to change the date will be necessary. The download links in the staged and embedded web content point to the anticipated location after the release is completed. The mirrors link will bring up a list of mirrors, but they won't have the file yet. The mirrors page will not be displayed with Safari due to an known issue with Safari. Unzipping the .tar.gz may result in a warning message that a lone zero block at 25389. That is a known issue with Maven (and previously with Ant) and does not affect
RE: Most stable version of log4cxx?
Stephen - Very good question... I have an offshore dev team who may be able to throw in some time testing, assuming there are **documented** tests to run. They are definitely not too good on ad-hoc style testing. Regards, Renny Koshy President CEO RUBIX Information Technologies, Inc. www.rubixinfotech.com Stephen Bartnikowski [EMAIL PROTECTED] To rkinglizards.com 'Log4CXX User' log4cxx-user@logging.apache.org 12/06/2007 09:58 cc AM Subject RE: Most stable version of log4cxx? Please respond to Log4CXX User [EMAIL PROTECTED] ging.apache.org Hey Curt, What's the testing process? How do we the users get involved on that and what sort of committment do we need to make? I think it's important I eke out some testing time out of my schedule to help out on that front, since, hey I'm using developer builds of log4cxx on FreeBSD, openSUSE, SUSE Enterprise, Fedora, Red Hat Enterprise, White Box, and I want to bring it over to Mac OS X Server. As for the voting process, is there a process there too? Do we need to subscribe to [EMAIL PROTECTED] to participate? Thanks for the update! - Stephen -Original Message- From: Curt Arnold [mailto:[EMAIL PROTECTED] Sent: Wednesday, December 05, 2007 6:27 PM To: Log4CXX User Subject: Re: Most stable version of log4cxx? On Dec 5, 2007, at 4:09 PM, [EMAIL PROTECTED] wrote: I know... I wish I could personally contribute time/energy/ resources... during the project in question we actually hired both omniEvents developers full time to 'help out'... but am not in a position right now. Would putting a bounty on it incentivise anyone to help? Renny Koshy President CEO I think we are close enough that getting a new developer ramped up would likely delay things unless someone wants to take on the ODBC/ DBAppender in the next week or so. However, having a configure/ autotools guru on call could be helpful. Andreas Fester has done that role in the past and I was planning on nagging him when doing the release candidate preparation. Testers checking various build platforms and testing with apps that use log4cxx 0.9.7 however would be very helpful and timely votes on any release candidates would be essential to encouraging the LS PMC to support the release.
Re: Most stable version of log4cxx?
Curt - We are primarily a Solaris shop... so we have Solaris 8 10 servers we can test on. We also have Linux (RHES4) systems. Renny Koshy President CEO RUBIX Information Technologies, Inc. www.rubixinfotech.com Curt Arnold [EMAIL PROTECTED] 12/06/2007 01:16 PM Please respond to Log4CXX User log4cxx-user@logging.apache.org To Log4CXX User log4cxx-user@logging.apache.org cc Subject Re: Most stable version of log4cxx? On Dec 6, 2007, at 8:58 AM, Stephen Bartnikowski wrote: Hey Curt, What's the testing process? How do we the users get involved on that and what sort of committment do we need to make? I think it's important I eke out some testing time out of my schedule to help out on that front, since, hey I'm using developer builds of log4cxx on FreeBSD, openSUSE, SUSE Enterprise, Fedora, Red Hat Enterprise, White Box, and I want to bring it over to Mac OS X Server. That is a nice set of platforms that compliments the ones that I test on. I currently test on Ubuntu 6.06 and 7.10 on i386 and x86_64, Mac OS/X and Win 2K with VC6 and VC7. I've got a Windows Vista x86_64 that I need to get Visual Studio 2008 up and running on to test Win64 builds. All running as VM's under VMWare Fusion. I'd like to have Solaris using gcc and Sun Studio in my collection of VMs, but struggled on previous attempts on setting up a Solaris VM in assembling all the needed software. As for the voting process, is there a process there too? Do we need to subscribe to [EMAIL PROTECTED] to participate? The requirements for an Apache release process is described in the following documents (ordered in most binding to least binding) http://www.apache.org/dev/release.html http://logging.apache.org/guidelines.html http://httpd.apache.org/dev/release.html http://incubator.apache.org/guides/releasemanagement.html#best-practice The outline of the process would be that a release candidate is prepared from a SVN tag and placed at http://people.apache.org/builds for review and a vote is called on log4cxx-dev and [EMAIL PROTECTED] which is open at least 72 hours. The Logging Services Guidelines prescribe distinct votes by the subproject (log4cxx) and LS PMC, but those have been held simultaneously in previous log4j releases since it ends up as two votes by almost the same set of people. LS PMC members have the only binding votes and at least 3 votes in favor from PMC members are required. Other voters are desired, but only advisory. To get that many votes from the PMC will mean convincing members whose primary interest is log4j, log4net or Chainsaw to cross lines and vet our release, so the more advisory votes on the release would allow the PMC members to with confidence focus on just the legal and procedural requirements. If there is a community in favor of a release candidate, then working through the procedural and political issues should be achievable. If there isn't a community, then it is likely stuck. On Dec 6, 2007, at 9:25 AM, [EMAIL PROTECTED] wrote: Stephen - Very good question... I have an offshore dev team who may be able to throw in some time testing, assuming there are **documented** tests to run. They are definitely not too good on ad-hoc style testing. There are a couple of classes of testing that I envisioned: a) build and unit test testing on different platforms/compiler combinations This type of testing would check that log4cxx builds and passes unit tests on a variety of platforms and compiler variations and that the INSTALL file properly describes the build process. The ideal persons for this type of testing have a variety of build platforms already available and could give a pass/no-pass in just a few minutes. b) Release reproducibility testing Confirm that an identical or near identical release can be prepared from the SVN. For log4j, the release build environment has been a specific configuration of Ubuntu 6.06-1 and with the exception of timestamps within the zip files, releases are bit-for-bit identical. Before I prep a release candidate, I'll confirm that I can repeat it. It would be good for someone else to confirm that they were also able to reproduce the release. c) Unit tests using diagnostic tools I'll run the unit tests under valgrind before prepping the release candidate. Anyone who has Purify, BoundsChecker or other tool who wants to take a spin would be appreciated. Anyone with a real app who can profile log4cxx would also be appreciated. d) Application testing Sanity tests of someone who has an non-trivial app that can report would be appreciated. None of these seem like things that could be effectively out-sourced. On Dec 6, 2007, at 10:06 AM, Andrew Phu wrote: Wow! I work in a Windows environment. Are there any instructions on build and test? Thanks, An Check INSTALL and if it leaves any gaps ask on the list. The release would
Re: Most stable version of log4cxx?
I have been using 0.9.7 in production since 2004 still waiting for the next release. Renny Koshy President CEO RUBIX Information Technologies, Inc. www.rubixinfotech.com Ashfaque [EMAIL PROTECTED] 12/05/2007 12:11 AM Please respond to Log4CXX User log4cxx-user@logging.apache.org To log4cxx-user@logging.apache.org cc Subject Most stable version of log4cxx? Hi, Does there exist a version of log4cxx which is stable enough to be used in production environment? Where to get it from? And can anyone give an idea when will the 0.10 version of log4cxx get released? Thanks, Ashfaq -- View this message in context: http://www.nabble.com/Most-stable-version-of-log4cxx--tf4947516.html#a14165433 Sent from the Log4cxx - Users mailing list archive at Nabble.com.
Re: Why, is it impossible to build log4cxx on Solaris 10 ??
supervixen [EMAIL PROTECTED] wrote on 07/25/2007 09:42:14 AM: Hi, I've been desperately trying to build log4cxx (0.9.7) to Solaris sparc and it's been a painful week even trying to build it, So here's my problem : I'm using Sun C++ 5.9 SunOS_sparc compiler on Solaris 10 and the i have installed the autotools -autoconf 2.60 -automake 1.10 -libtool 1.5 -m4 1.4.2 ( downloaded from sunfreeware as solaris packages) I have not tried to autogen it... I've just ran configure then make, and it seems to work fine for me... been using it since 2005. QUESTION1 : Have I installed the right versions (of the autotools) ? Is there a compatibility issue that I am not aware of ? Not sure QUESTION3 Has anyone ever built/tested log4cxx with Sun C++ compiler, and if anyone has, can he/she be so kind to describe it step by step (i'm clueless ) or better than that, could anyone just zip and email me the binaries? indeed, my project can´t wait any more to have this log library running! Yes, I downloaded the tar file, did a configure, then make... Works like a charm. If you want me to tar up the directory and make it avial, I can do that. There is one change in our lib which saves and restores the TZ variable, as 0.9.7 seems to obliterate that env. var.
Re: log4j:ERROR setFile(null,true) call failed.
Thomas Do you have a log subdirectory under the 'current working directory' of your web-app? We find it best to give the full path, as we use Log4J in a sumilar situation. Renny Koshy President CEO RUBIX Information Technologies, Inc. www.rubixinfotech.com Thomas Thomas [EMAIL PROTECTED] .com To log4cxx-user@logging.apache.org 11/30/2006 07:45 cc AM Subject log4j:ERROR setFile(null,true) call Please respond to failed. Log4CXX User [EMAIL PROTECTED] ging.apache.org Hi, In my web application I have a log4j.properties in C:\UserTemp\crawlerdata\helloworld I have also a diretory log in C:\UserTemp\crawlerdata\helloworld I have, in the file log4j.properties, these lines : # Path of the log-file log4j.appender.file.File=log/myLog.log But whern I run my program and when it executes this line : PropertyConfigurator.configure(C:/UserTemp/crawlerdata/helloworld/log4j.properties); I have the following exceptions, can someone help me please ? [30/11/06 11:58:31:457 CET] 64899f05 SystemErr R log4j:ERROR setFile(null,true) call failed. [30/11/06 11:58:31:457 CET] 64899f05 SystemErr R java.io.FileNotFoundException: log\regain.log (The system cannot find the path specified) [30/11/06 11:58:31:457 CET] 64899f05 SystemErr R at java.io.FileOutputStream.openAppend(Native Method) [30/11/06 11:58:31:457 CET] 64899f05 SystemErr R at java.io.FileOutputStream.init(FileOutputStream.java:194) [30/11/06 11:58:31:457 CET] 64899f05 SystemErr R at java.io.FileOutputStream.init(FileOutputStream.java:122) [30/11/06 11:58:31:457 CET] 64899f05 SystemErr R at org.apache.log4j.FileAppender.setFile(FileAppender.java:282) [30/11/06 11:58:31:457 CET] 64899f05 SystemErr R at org.apache.log4j.RollingFileAppender.setFile(RollingFileAppender.java:165) [30/11/06 11:58:31:457 CET] 64899f05 SystemErr R at org.apache.log4j.FileAppender.activateOptions(FileAppender.java:161) [30/11/06 11:58:31:457 CET] 64899f05 SystemErr R at org.apache.log4j.config.PropertySetter.activate(PropertySetter.java:256) [30/11/06 11:58:31:457 CET] 64899f05 SystemErr R at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:132) [30/11/06 11:58:31:457 CET] 64899f05 SystemErr R at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:96) [30/11/06 11:58:31:457 CET] 64899f05 SystemErr R at org.apache.log4j.PropertyConfigurator.parseAppender(PropertyConfigurator.java:654) [30/11/06 11:58:31:457 CET] 64899f05 SystemErr R at org.apache.log4j.PropertyConfigurator.parseCategory (PropertyConfigurator.java:612) [30/11/06 11:58:31:457 CET] 64899f05 SystemErr R at org.apache.log4j.PropertyConfigurator.configureRootCategory(PropertyConfigurator.java:509) [30/11/06 11:58:31:457 CET] 64899f05 SystemErr R at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:415) [30/11/06 11:58:31:457 CET] 64899f05 SystemErr R at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:316) [30/11/06 11:58:31:457 CET] 64899f05 SystemErr R at org.apache.log4j.PropertyConfigurator.configure(PropertyConfigurator.java:324) [...]
Re: [SPAM] Does log4cxx support variable-arguments?
Sadly, I don't think so... what we ended up doing was to modify log4cxx to support the following additional fn()'s: void debugf(const char *fmt, ...); void infof(const char *fmt, ...); void warnf(const char *fmt, ...); void errorf(const char *fmt, ...); void fatalf(const char *fmt, ...); They are each implemented as: void Logger::debugf(const char* format, ...) { if(repository-isDisabled(Level::DEBUG_INT)) { return; } // Format the string va_list pvar; va_start(pvar, format); if(Level::DEBUG-isGreaterOrEqual(getEffectiveLevel())) { char MessageBuffer[LOG_MESSAGE_BUFF_SIZE]; vsnprintf(MessageBuffer, sizeof(MessageBuffer), format, pvar); forcedLog(FQCN, Level::DEBUG, MessageBuffer); } } Renny Koshy President CEO RUBIX Information Technologies, Inc. www.rubixinfotech.com sishen [EMAIL PROTECTED] .com To log4cxx-user@logging.apache.org 09/17/2006 02:58 cc PM Subject [SPAM] Does log4cxx support Please respond to variable-arguments? Log4CXX User [EMAIL PROTECTED] ging.apache.org Hey. everyone. I'm a new user of log4cxx. I want to know whether log4cxx support variable argument? I have found the maillist archive, but i haven't got any answers. for example, like the macro: #define LOG4CXX_DEBUG(logger, message) it only takes two argument. And now i have to combine all argument to a string. This is not convenient. I think variable-argument is common for logging system. Any advice prefer, :)
Re: [SPAM] Re: memory leaks, when terminate threads
We've seen this also on Solaris and using some commercial memory-test tools, one of my developers had identified a memory leak, and fixed it. We've using 0.9.7 -- a modified version. If you're interested, you can try it out on VC++ and see if it works for you. Renny Koshy President CEO RUBIX Information Technologies, Inc. www.rubixinfotech.com Mark [EMAIL PROTECTED] omTo Log4CXX User 08/24/2006 11:01 log4cxx-user@logging.apache.org AM cc Subject Please respond to [SPAM] Re: memory leaks, when Log4CXX User terminate threads [EMAIL PROTECTED] ging.apache.org I am using the current code, but I've also never been able to use log4cxx in multiple threads in VC++ without experiencing memory leaks (reported both by the VS debugger and Memory Leak Detector). I have posted a few times but have not gotten a solution. I ended up using custom messages to the main thread and logging the thread's messages from there. --- valantines [EMAIL PROTECTED] wrote: Hi, I have little problem with log4cxx. I use own class Thread and i started 1000 thread in same time. In this threads i do logging my code, but if i want terminate those threds, i get in my msvc, tons of memory leaks. i think maybe its problem, when i terminate threads but log4cxx still working and logging and crashed my program. i try using releaseRef before i need kill thread, but least i get access violation when log4cxx end his job. also i used LogManager::shutdown or remove appenders but isn't this problem. Situation looks like: there are some many action in my threads, when i comment every logging in this threads and i dont get any memory leaks i used log4cxx 0.9.7 unfortunly i cant used 0.9.8 thx for advice! re valantines -- View this message in context: http://www.nabble.com/memory-leaks%2C-when-terminate-threads-tf2158681.html#a5964004 Sent from the Log4cxx - Users forum at Nabble.com. __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com
Re: [SPAM] MSVC Build
Which version are you looking for? Renny Koshy President CEO RUBIX Information Technologies, Inc. www.rubixinfotech.com Fitzhugh, Cary [EMAIL PROTECTED] -ais.com To log4cxx-user@logging.apache.org 01/05/2006 11:32 cc AM Subject [SPAM] MSVC Build Please respond to Log4CXX User [EMAIL PROTECTED] ging.apache.org Hi All, I don’t know if this is possible, but I’m hoping someone who has log4cxx set up could just get me a link to either the IDE build setup for MSVC or a lib and some include files. I’m at work on a PC which I don’t have admin to, so I can’t install various programs that I seem to need to get everything compiled (javac for one!). I want to use it, but can’t run the ant scripts, etc. So I’m hoping to get either the .dll/.lib and the include files it needs, or maybe someone could run the ant build-blahblah-msvc and zip up the directory tree. Thanks for any help. Cary FitzHugh
Fixes to Log4CXX
I noticed that Log4CXX thresholds were being ignored by 0.9.7 -- we're still using this in production environments. Has anyone else experienced this? - I fixed two bugs related to this - 1. AppenderSkeleton wouldn't handle threshold as an option - 2. FileAppender was passing the logger name instead of the option name to the WriterAppender::setOption() - I also modified the NTEventLogger to use the LineNumber param as the EventID, as that allows custom event ID's to be used (those can be trapped by NT Event Log monitoring software). If anyone is interested, I can provide the patches. Regards, Renny Koshy President CEO RUBIX Information Technologies, Inc. www.rubixinfotech.com
RE: A design problem!
Ken Another suggestion may be: 1. Setup a Logger pool... then have a pointer to the Logger in your main code. 2. At the start of request processing for a client, set the Logger pointer to the appropriate logger in the pool, if one exists, or create a new one and save in the pool 3. After a certain timeout, destroy the logger -- so if no requests are received from a client in lets say 5 minutes, the logger expires Renny Koshy President CEO RUBIX Information Technologies, Inc. www.rubixinfotech.com Jeff Davidson [EMAIL PROTECTED] com To 'Log4CXX User' 11/01/2005 11:40 log4cxx-user@logging.apache.org AM cc Subject Please respond to [SPAM] RE: A design problem! Log4CXX User [EMAIL PROTECTED] ging.apache.org Ken, Would it be feasible to write to a (SQL) database appender? Later, you would simply query the results for each IP address as needed, instead of forcing the sorting of log records at the time that they are logged. I'm very new to log4cxx so I don't really know how much effort would be required, but if it were me I think I'd want a general solution that offloads the sorting and processing of individual log records until someone (me?) actually requests them. Anyway, it's food for thought. Cheers, ~Jeff D. -Original Message- From: Ken [mailto:[EMAIL PROTECTED] Sent: Monday, October 31, 2005 6:27 PM To: Log4CXX User Subject: Re: A design problem! Hello, Currently, My program have 1 thread deal with all clients request, have only one appender with setFile call changes the log file for each client request. But the problem is when I enable the log, the cpu usage is a little high, disable the log everything is ok. So I think setFile call will cause file frequently opened closed, will this elevate the cpu usage? Maarten's NDC suggestion is what I thought before. The problem is each client will have a series of request, each of them will last variable time. So NDC may overlap the log content. Create many appender just like Thomas said will challenge the OS limit. Of course use awk, sed, Excel are the best and easy solutions, but for some reason we only can show the log file to related people with their part. I will study use awk or Excel to achieve this later. However I still like write to different files. Thanks. -- Ken
Multi-threaded logging...
Unless you are immediately jumping into multithreaded logging I would recommend using the CVS HEAD over 0.9.7. Currently the synchronization and thread-local stuff is stubbed out. Does this imply that multi-threaded logging does NOT work? We're running an app (production) that is using log4cxx from about 10 different worker threads. Mostly So does this imply that Renny Koshy President CEO RUBIX Information Technologies, Inc. www.rubixinfotech.com Curt Arnold [EMAIL PROTECTED] 02/11/2005 01:42 PM Please respond to Log4CXX User To:Log4CXX User log4cxx-user@logging.apache.org cc: Subject:Re: Questions regarding CVS HEAD Unless you are immediately jumping into multithreaded logging I would recommend using the CVS HEAD over 0.9.7. Currently the synchronization and thread-local stuff is stubbed out. The next release will look almost exactly like the current CVS, but with more features fleshed out and tested. I've added a task to Jira (http://issues.apache.org/jira/browse/LOGCXX-62) to track the issues that are blocking (at least in my opinion) the release. Please feel free to add additional issues or petition to have issues reduced from blocking status. The CVS HEAD is now being build and tested daily by Gump (Ant build only) and any breakage will result in an nag message to the mailing list. On Feb 11, 2005, at 12:15 PM, Daniel Einspanjer wrote: How stable is the current CVS source? Is there a roadmap anywhere for a release of .9.8? We're in the early stages of trying to implement log4cxx in our system and I am catching a lot of flak from some of the developers on my team because of problems with static initialization and compilation problems with icc... I'm hoping that .9.8 is the answer to several of these problems, and I might even be able to work with CVS source for a while if it is relatively stable and close to what .9.8 is going to look like... Thanks, Daniel
Re: Advice requested on best way to implement log4* to support non-hierarchal categories
We use Log4J and Log4CXX in certain products we've made. Our usage is simple: Logger.Hierarchy.Names- for normal logging Alerts.Logger.Hierarchy.Names- for ALERTS meant for Network Operations Staff, Technicians etc. (usually important msgs) Statistics.Logger.Hierarchy.Names- System operations stats --- PS. I can't post to the Log4J list as I'm not a subscriber. --- Renny Koshy President CEO RUBIX Information Technologies, Inc. www.rubixinfotech.com Curt Arnold [EMAIL PROTECTED] 01/19/2005 05:38 PM Please respond to Log4CXX User To:Log4J Users List log4j-user@logging.apache.org cc:Log4CXX User log4cxx-user@logging.apache.org Subject:[SPAM] Re: Advice requested on best way to implement log4* to support non-hierarchal categories I'm continuing the initial cross-posting just to tell anyone interested in following or responding to the thread to do so on [EMAIL PROTECTED] I think that you need to design your use of the log4X frameworks so that they can readily evolve as you discover the best hierarchy for your applications. The hierarchical metaphor used in the log4X is useful, but not perfect, for configuring logging. Even a bad hierarchy is better than individually configuring each logger. The logging hierarchy should be designed to make typical configurations simple to express. Configuration precedes collection which precedes analysis. If you make configuration or collection difficult, you won't have anything to analyze. You should should consider the audiences for the log messages and the frequency of the potential logging requests and their impact on performance. The most common audience for log4X messages are diagnosticians trying to figure out why something is going wrong. Your audience is assumed to be familiar with the source code for the application and fully qualified class names make an effective hierarchy. The logging requests are frequent and should be very low cost in normal operation. Some other audiences would be security analysts, performance analysts, and business analysts. Obviously one individual might be a diagnostician in one instance and a performance analyst in another, but thinking in terms of discrete audiences is helpful. Logging requests intended for these other audiences are typically much less frequent, so the need to suppress unnecessary messages for performance reasons is much less important. I would recommend using distinct Logger references for each of these audiences within the implementation. For example: public class Query { private static final Logger logger = Logger.getLogger(Query.class); private static final Logger performanceLogger = MyLoggerHelper.getPerformanceLogger(Query.class); private static final Logger securityLogger = MyLoggerHelper.getSecurityLogger(Query.class); } Your implementation of MyLoggerHelper.getPerformanceLogger could start out as simple as returning Logger.getLogger(performance) or Logger.getLogger(performance. + clz.getName()); One problem is when a message is of interest to multiple audiences. For example, the search metrics may be of interest to both the diagnostician and the performance analyst. Since these would typically be low volume, it might be simplest just to repeat the message on both the diagnostic and performance logger. Otherwise, you might be able to bridge loggers by routing performance.com.example.foobar to the same appenders as com.example.foobar.
Re: Problems with DailyRollingFileAppender
Well.. I think that's a philosophical question :-) But I guess that's a good idea. Though given the ease of using cron + shell script... I don't kow if anyone would want to write/test/maintain something like that. Renny Koshy President CEO RUBIX Information Technologies, Inc. www.rubixinfotech.com [EMAIL PROTECTED] 11/19/2004 02:27 PM Please respond to Log4CXX User To:Log4CXX User log4cxx-user@logging.apache.org cc: Subject:Re: Problems with DailyRollingFileAppender Same here. But I want to get rid of it. Logging library should be smart enough to do it for me [EMAIL PROTECTED] wrote on 11/19/2004 02:22:37 PM: Our logs are kept for many days for several reasons... but we have MANY processes/jobs that are logging many files all over the server... and we have a cleanup job that purges out old logs from all of our prcesses. It runs daily at some point in time and does the cleanup Renny Koshy President CEO RUBIX Information Technologies, Inc. www.rubixinfotech.com [EMAIL PROTECTED] 11/19/2004 02:20 PM Please respond to Log4CXX User To:Log4CXX User log4cxx-user@logging.apache.org cc: Subject:Re: Problems with DailyRollingFileAppender Renny, How do you purge DailyRollingFileAppender files? Once upon a time, I solicited extending it in a similar fashion like RollingFileAppender, but there was no much interest since log4j has (or will) deprecated it. +++ Aleksandar Fabijanic Level 2 Automation Engineer Nucor Steel Berkeley - Beam Mill Phone: 843.336.6678 Fax: 843.336.6072 --- [EMAIL PROTECTED] wrote on 11/19/2004 01:24:52 PM: ## # Logging properties ## log4j.rootLogger=DEBUG, logfile, console ... log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender log4j.appender.logfile.fileName=SmartACD.log log4j.appender.logfile.layout=org.apache.log4j.PatternLayout log4j.appender.logfile.layout.ConversionPattern=%d{ISO8601} %-5p % c %x - %m%n log4j.appender.logfile.ImmediateFlush=true log4j.appender.logfile.DatePattern=.%Y-%m-%d give output of the form: 2004-11-19 00:00:00,373 INFO Statistics - Queue,Total Ops,Idle Ops,Calls Waiting,Longest Call,M Calls,M Calls Anwered,M Calls Abandoned,M ASA,M Min SA,M Max SA,M ACPT,M Min CPT,M Max CPT,H Calls,H Calls Anwered,H Calls Abandoned,H ASA,H Min SA,H Max SA,H ACPT,H Min CPT,H Max CPT,D Calls,D Calls Anwered,D Calls Abandoned,D ASA,D Min SA,D Max SA,D ACPT,D Min CPT,D Max CPT,Aba 0-10,Aba 11-20, Aba 21-30,Aba 31-40,Aba 41-50,Aba 51-60,Aba 60+,CPT 0-10,CPT 11-20, CPT 21-30,CPT 31-40,CPT 41-50,CPT 51-60,CPT 60+ 2004-11-19 00:00:00,460 INFO Statistics - Reject,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,0,0,0,0,0,0,0, 2004-11-19 00:00:00,467 INFO Statistics - Forward to RUBIX,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,,0,0,0,0,0,0,0, 2004-11-19 00:00:00,563 DEBUG ACD ServiceCalls(SUPER) - No calls to service Renny Koshy President CEO RUBIX Information Technologies, Inc. www.rubixinfotech.com [EMAIL PROTECTED] 11/19/2004 12:48 PM Please respond to Log4CXX User To:log4cxx-user@logging.apache.org cc: Subject:Problems with DailyRollingFileAppender Hello! I'm recently converted a project i'm working on to use log4cxx. I'm writing a spam filter on Win32 but aiming at being cross platform. I have used RollingFileAppender with no problems, but if i try to setup a DailyRollingFileAppender the application hangs. here's my property file: log4j.rootLogger=DEBUG, R log4j.appender.R=org.apache.DailyRollingFileAppender log4j.appender.R.File=/junk/JunkFilter.log log4j.appender.R.DatePattern='.'-MM-dd log4j.appender.R.layout=org.apache.log4j.PatternLayout log4j.appender.R.layout.ConversionPattern=%5p %d %c %m%n Is this broken? Also, i don't know if it's related, but i can't format dates in the pattern layout (something like %d{HH:mm:ss,SSS} for instance doesn't work). And if I use simply %d, it gives me something like this output: INFO 2004-11-19 17:40:15,% MailFilter 127.0.0.1 [EMAIL PROTECTED] ContentBlock viagra badmail the SSS part of the date format is displayed as %. So i think the format is not being interpreted correctly. I hope someone can help me, or at least give some directions to try to correct this. Thanks in advance, Paulo Albuquerque AVISO Esta mensagem e todos os seus anexos poderá conter informação
RE: SocketHubAppender client
I think the fact that the latest code may or may not compile is consistent with the email from the maintainers... Renny Koshy President CEO RUBIX Information Technologies, Inc. www.rubixinfotech.com [EMAIL PROTECTED] 11/19/2004 04:00 PM Please respond to Log4CXX User To:log4cxx-user@logging.apache.org cc: Subject:RE: SocketHubAppender client Paul, Yes, I have just checked out the last code. Yet, the automake complains that there are some error in configure.in. So do I fear about breaking existing work. Than I chose to modify the original 0.9.7 codes. BTW: Several days ago, I find 0.9.7 code cannot be compiled under freebsd. I add some platform case compile code to solve it. It seems we all need a new release. Sun From: Paul Nader [EMAIL PROTECTED] Reply-To: Log4CXX User log4cxx-user@logging.apache.org To: 'Log4CXX User' log4cxx-user@logging.apache.org Subject: RE: SocketHubAppender client Date: Fri, 19 Nov 2004 21:50:11 +0100 Actualy I agree, the 0.9.7 tarball is ancient (over 6 months at the least)... and that also happens to be the latest tag in CVS :( I haven't deared use the latest CVS snapshot for fear of breaking existing code; An uptodate/tested release would be very welcome by quite a few of us... Paul -Mensaje original- De: ? ? [mailto:[EMAIL PROTECTED] Enviado el: Friday, 19 November 2004 9:19 PM Para: log4cxx-user@logging.apache.org Asunto: RE: SocketHubAppender client Dear Paul: Great! Thanks for your patch, I have modified these lines, then recompiled it. Now it works well on my system. It seems that I must update code with cvs. The release bz2 tarball is too old. :) Regards, Sun Xiaoguang From: Paul Nader [EMAIL PROTECTED] Reply-To: Log4CXX User log4cxx-user@logging.apache.org To: 'Log4CXX User' log4cxx-user@logging.apache.org Subject: RE: SocketHubAppender client Date: Fri, 19 Nov 2004 20:52:48 +0100 Anton, Thinking back to it I actually reported a fault in sockethubappender. Here is my email to Michael... Maybe its still faulty? Paul. Hi Micha?, I've been doing a bit more testing with log4cxx and noticed that sockethubappender didn't seem to work. I investigated and found that the oosList was not been passed by reference to the ServerMonitor. I made a diff of my changes in case you are interested: bash-2.03$ diff net/sockethubappender.h /export/home3/pnader/log4cxx-0.9.7/include/log4cxx/net/socketh ubappender.h 198c198 std::vectorhelpers::SocketOutputStreamPtr oosList; --- std::vectorhelpers::SocketOutputStreamPtr oosList; 210c210 const std::vectorhelpers::SocketOutputStreamPtr oosList); --- std::vectorhelpers::SocketOutputStreamPtr oosList); bash-2.03$ diff sockethubappender.cpp /export/home3/pnader/log4cxx-0.9.7/src/sockethubappender.cpp 165c165 SocketHubAppender::ServerMonitor::ServerMonitor(int port, const std::vectorhelpers::SocketOutputStreamPtr oosList) --- SocketHubAppender::ServerMonitor::ServerMonitor(int port, std::vectorhelpers::SocketOutputStreamPtr oosList) -Mensaje original- De: ?? ??? [mailto:[EMAIL PROTECTED] Enviado el: Friday, 19 November 2004 8:26 PM Para: log4cxx-user@logging.apache.org Asunto: RE: SocketHubAppender client I think may there are something wrong with my SocketHubAppender in my server side. I have tried your code. But it show nothing. Are there any error in my properties file? Thanks! here it is my properties file. log4j.rootLogger=debug, hls, hub log4j.hds.hdsconfig=debug, hls, hub log4j.hds.hdsconfig=debug, hls, hub log4j.appender.hls=org.apache.log4j.SocketAppender log4j.appender.hls.RemoteHost=localhost log4j.appender.hls.Port=4560 log4j.appender.hub=org.apache.log4j.SocketHubAppender log4j.appender.hub.Port=4561 From: [EMAIL PROTECTED] Reply-To: Log4CXX User log4cxx-user@logging.apache.org To: log4cxx-user@logging.apache.org CC: [EMAIL PROTECTED] Subject: SocketHubAppender client Date: Fri, 19 Nov 2004 14:04:17 -0500 Someone had asked a couple of days ago regarding the sockethubappender. I got this from our developer who was using the sockethubappender... BTW -- did you setup a socket hub appender configuration in your server side before tryingto connect? Renny Koshy President CEO RUBIX Information Technologies, Inc. www.rubixinfotech.com CdrSocketClient.cpp
Re: Is this project still alive????
Yes... we're using it in a production environment... with no identifiable problems (except the time-stamp). There is a strange core dump we keep having, but because we use an in-memory database and an active/standby setup ... that's transparent to system operation. Renny Koshy President CEO RUBIX Information Technologies, Inc. www.rubixinfotech.com Anton Müller [EMAIL PROTECTED] 11/18/2004 10:57 AM Please respond to Log4CXX User To:log4cxx-user@logging.apache.org cc: Subject:Is this project still alive Hello everybody, is there actually somebody who is responsible for this project??? I ask because I wrote already 2 mails to Michael Catanzariti without response and I remember a post from him where he was searching C++ programmers because he was the only one at that moment. Any news about status or whatever, is somebody working with log4cxx in production systems ?? Bye -- NEU +++ DSL Komplett von GMX +++ http://www.gmx.net/de/go/dsl GMX DSL-Netzanschluss + Tarif zum supergünstigen Komplett-Preis!
Re: Is this project still alive????
Really? It worked for us... I'm pretty sure one of my dev's was playing with it... Renny Koshy President CEO RUBIX Information Technologies, Inc. www.rubixinfotech.com [EMAIL PROTECTED] 11/18/2004 11:22 AM Please respond to Log4CXX User To:log4cxx-user@logging.apache.org cc: Subject:Re: Is this project still alive Me too. I use it in developing our application server system. The only problem is SockHubAppender can not work! From: [EMAIL PROTECTED] Reply-To: Log4CXX User log4cxx-user@logging.apache.org To: Log4CXX User log4cxx-user@logging.apache.org Subject: Re: Is this project still alive Date: Thu, 18 Nov 2004 11:13:15 -0500 Yes... we're using it in a production environment... with no identifiable problems (except the time-stamp). There is a strange core dump we keep having, but because we use an in-memory database and an active/standby setup ... that's transparent to system operation. Renny Koshy President CEO RUBIX Information Technologies, Inc. www.rubixinfotech.com Anton M?ler [EMAIL PROTECTED] 11/18/2004 10:57 AM Please respond to Log4CXX User To: log4cxx-user@logging.apache.org cc: Subject:Is this project still alive Hello everybody, is there actually somebody who is responsible for this project??? I ask because I wrote already 2 mails to Michael Catanzariti without response and I remember a post from him where he was searching C++ programmers because he was the only one at that moment. Any news about status or whatever, is somebody working with log4cxx in production systems ?? Bye -- NEU +++ DSL Komplett von GMX +++ http://www.gmx.net/de/go/dsl GMX DSL-Netzanschluss + Tarif zum superg?stigen Komplett-Preis! _ MSN Hotmail http://www.hotmail.com
Re: Is this project still alive????
Unfortunately, I'm not the one who's our log4cxx expert... I'll ask though... Renny Koshy President CEO RUBIX Information Technologies, Inc. www.rubixinfotech.com [EMAIL PROTECTED] 11/18/2004 11:34 AM Please respond to Log4CXX User To:log4cxx-user@logging.apache.org cc: Subject:Re: Is this project still alive Thanks for your reply. Could you tell me what's wrong in my client code? I cannot find any sample code of using SocketHubAppender, so I try to connect to SocketHubAppender using Socket and SocketInputStream. Yet It can not receive any log messages. Thanks!! Here it is: #include log4cxx/helpers/socket.h #include log4cxx/spi/loggingevent.h #include log4cxx/net/socketnode.h #include log4cxx/helpers/thread.h #include log4cxx/logmanager.h #include iostream int main(){ log4cxx::helpers::SocketPtr __socket; log4cxx::spi::LoggingEventPtr __logging_event; log4cxx::helpers::SocketInputStreamPtr __input_stream; __socket=new log4cxx::helpers::Socket(192.168.123.244,4561); __input_stream=__socket-getInputStream(); while(true){ __logging_event-read(__input_stream); std::cout __logging_event-getMessage() std::endl; }; __socket-close(); } From: [EMAIL PROTECTED] Reply-To: Log4CXX User log4cxx-user@logging.apache.org To: Log4CXX User log4cxx-user@logging.apache.org CC: log4cxx-user@logging.apache.org Subject: Re: Is this project still alive Date: Thu, 18 Nov 2004 11:28:36 -0500 Really? It worked for us... I'm pretty sure one of my dev's was playing with it... Renny Koshy President CEO RUBIX Information Technologies, Inc. www.rubixinfotech.com [EMAIL PROTECTED] 11/18/2004 11:22 AM Please respond to Log4CXX User To: log4cxx-user@logging.apache.org cc: Subject:Re: Is this project still alive Me too. I use it in developing our application server system. The only problem is SockHubAppender can not work! From: [EMAIL PROTECTED] Reply-To: Log4CXX User log4cxx-user@logging.apache.org To: Log4CXX User log4cxx-user@logging.apache.org Subject: Re: Is this project still alive Date: Thu, 18 Nov 2004 11:13:15 -0500 Yes... we're using it in a production environment... with no identifiable problems (except the time-stamp). There is a strange core dump we keep having, but because we use an in-memory database and an active/standby setup ... that's transparent to system operation. Renny Koshy President CEO RUBIX Information Technologies, Inc. www.rubixinfotech.com Anton M?ler [EMAIL PROTECTED] 11/18/2004 10:57 AM Please respond to Log4CXX User To: log4cxx-user@logging.apache.org cc: Subject:Is this project still alive Hello everybody, is there actually somebody who is responsible for this project??? I ask because I wrote already 2 mails to Michael Catanzariti without response and I remember a post from him where he was searching C++ programmers because he was the only one at that moment. Any news about status or whatever, is somebody working with log4cxx in production systems ?? Bye -- NEU +++ DSL Komplett von GMX +++ http://www.gmx.net/de/go/dsl GMX DSL-Netzanschluss + Tarif zum superg?stigen Komplett-Preis! _ MSN Hotmail http://www.hotmail.com _ MSN Hotmail http://www.hotmail.com
Re: Help: I find it's too hard to build log4cxx on Solaris.
I'm surprised I followed the directions, and it built without any problems on the first try... Solaris 8 (Intel/Sparc)... of course Im using Forte compilers... Renny Koshy President CEO RUBIX Information Technologies, Inc. www.rubixinfotech.com Xiong, Wei (Wei) [EMAIL PROTECTED] 10/15/2004 06:04 AM Please respond to Log4CXX User To:log4cxx-user@logging.apache.org cc:[EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED] Subject:Help: I find it's too hard to build log4cxx on Solaris. Hi, Everybody, I want to have a study on log4cxx 0.9.7. But I find it's too hard to build log4cxx on Solaris. I don't know why the authors do not publish a ordinary configure or makefile, but I think many programmers including me will be very appreciated if they do so. I follow the INSTALL guide and run ./autogen.sh on my Solaris 9 x86. But many errors occur and stop me from try log4cxx. The following is the output: [EMAIL PROTECTED]./autogen.sh /usr/local/share/aclocal/cppunit.m4:4: warning: underquoted definition of AM_PATH_CPPUNIT run info '(automake)Extending aclocal' or see http://sources.redhat.com/automake/automake.html#Extending-aclocal configure.in:32: /usr/local/bin/m4: ERROR: Reading inserted file: No such file or directory autom4te: /usr/local/bin/m4 failed with exit status: 1 aclocal: autom4te failed with exit status: 1 autoheader: error: AC_CONFIG_HEADERS not found in configure.in configure.in:21: error: possibly undefined macro: AM_CONFIG_HEADER If this token and others are legitimate, please use m4_pattern_allow. See the Autoconf documentation. configure.in:27: error: possibly undefined macro: AM_INIT_AUTOMAKE configure.in:32: error: possibly undefined macro: AM_PROG_LIBTOOL configure.in:86: error: possibly undefined macro: AM_CONDITIONAL configure.in: no proper invocation of AM_INIT_AUTOMAKE was found. configure.in: You should verify that configure.in invokes AM_INIT_AUTOMAKE, configure.in: that aclocal.m4 is present in the top-level directory, configure.in: and that aclocal.m4 was recently regenerated (using aclocal). configure.in: installing `./install-sh' configure.in: installing `./missing' docs/Makefile.am:6: DOC does not appear in AM_CONDITIONAL docs/Makefile.am:22: LATEX_DOC does not appear in AM_CONDITIONAL examples/Makefile.am: installing `./depcomp' /usr/local/share/automake-1.9/am/depend2.am: am__fastdepCXX does not appear in AM_CONDITIONAL /usr/local/share/automake-1.9/am/depend2.am: AMDEP does not appear in AM_CONDITIONAL /usr/local/share/automake-1.9/am/depend2.am: am__fastdepCXX does not appear in AM_CONDITIONAL /usr/local/share/automake-1.9/am/depend2.am: AMDEP does not appear in AM_CONDITIONAL src/Makefile.am:1: Libtool library used but `LIBTOOL' is undefined src/Makefile.am:1: src/Makefile.am:1: The usual way to define `LIBTOOL' is to add `AC_PROG_LIBTOOL' src/Makefile.am:1: to `configure.in' and run `aclocal' and `autoconf' again. /usr/local/share/automake-1.9/am/depend2.am: am__fastdepCXX does not appear in AM_CONDITIONAL /usr/local/share/automake-1.9/am/depend2.am: AMDEP does not appear in AM_CONDITIONAL tests/Makefile.am:4: TESTS does not appear in AM_CONDITIONAL tests/src/Makefile.am:6: TESTS does not appear in AM_CONDITIONAL /usr/local/share/automake-1.9/am/depend2.am: am__fastdepCXX does not appear in AM_CONDITIONAL /usr/local/share/automake-1.9/am/depend2.am: AMDEP does not appear in AM_CONDITIONAL tests/src/customlogger/Makefile.am:4: TESTS does not appear in AM_CONDITIONAL /usr/local/share/automake-1.9/am/depend2.am: am__fastdepCXX does not appear in AM_CONDITIONAL /usr/local/share/automake-1.9/am/depend2.am: AMDEP does not appear in AM_CONDITIONAL tests/src/defaultinit/Makefile.am:3: TESTS does not appear in AM_CONDITIONAL /usr/local/share/automake-1.9/am/depend2.am: am__fastdepCXX does not appear in AM_CONDITIONAL /usr/local/share/automake-1.9/am/depend2.am: AMDEP does not appear in AM_CONDITIONAL tests/src/helpers/Makefile.am:3: TESTS does not appear in AM_CONDITIONAL /usr/local/share/automake-1.9/am/depend2.am: am__fastdepCXX does not appear in AM_CONDITIONAL /usr/local/share/automake-1.9/am/depend2.am: AMDEP does not appear in AM_CONDITIONAL tests/src/net/Makefile.am:4: TESTS does not appear in AM_CONDITIONAL /usr/local/share/automake-1.9/am/depend2.am: am__fastdepCXX does not appear in AM_CONDITIONAL /usr/local/share/automake-1.9/am/depend2.am: AMDEP does not appear in AM_CONDITIONAL tests/src/pattern/Makefile.am:4: TESTS does not appear in AM_CONDITIONAL /usr/local/share/automake-1.9/am/depend2.am: am__fastdepCXX does not appear in AM_CONDITIONAL /usr/local/share/automake-1.9/am/depend2.am: AMDEP does not appear in AM_CONDITIONAL tests/src/util/Makefile.am:4: TESTS does not appear in AM_CONDITIONAL /usr/local/share/automake-1.9/am/depend2.am: am__fastdepCXX does not appear in AM_CONDITIONAL /usr/local/share/automake-1.9/am/depend2.am: AMDEP does not appear in AM_CONDITIONAL
Re: use of log4cxx on multiple platforms...
Mike We use it on: Windows Solaris Linux These are for real-time, production systems which we've guaranteed 99.999% uptime... (though I guess a single module crashing wouldn't affect the up-time). Renny Koshy President CEO RUBIX Information Technologies, Inc. www.rubixinfotech.com Mike SG [EMAIL PROTECTED] 09/03/2004 02:54 PM Please respond to Log4CXX User To:log4cxx-user@logging.apache.org cc: Subject:use of log4cxx on multiple platforms... Hi, I am new to this log4cxx user group. I have few questions regarding usage of log4cxx on multiple platforms. We have a product that runs on different platforms. We need some logging mechanism so that we can use on different platforms. Our product runs on Windows, MVS, Sun Solaris, AIX and Linux. I read about log4cxx and was very excited and thought we could use that in our project. I have read some of the mails in the mailing list archives and have few questions before I start using this product. 1. I see that the standard release of this product is not yet released. So is it ok to use it in my project? 2. I see that there are some issues running on solaris and AIX. So I am not sure whether to go for this product or use our own logging mechanism. 3. We have implemented multi tasking in our project. (multile processes and NOT multiple threads). So if I use this logging product, will I be able to consolidate my messages from different processes? 4. When will this product be tested on solaris and AIX? 5. When is the standard release of this product expected? Please give your suggestions on this. Thank you very very much, -Mike B. Do you Yahoo!? Win 1 of 4,000 free domain names from Yahoo! Enter now.
Log4cxx obliterates the TZ setting...
Ok... I think I found a work-around for my app anyway: I noticed that this whole thing happens when the property configurator is reading the file configuring things... so I now set my timezone (which I never had to do before), from an appliction .ini file setting AFTER the propertyconfigurator is initialized. There has got to be a better way to do this... will let you guys know if we find something. Renny Koshy President CEO RUBIX Information Technologies, Inc. www.rubixinfotech.com __ We have some code which started behaving strange after going to log4cxx for logging... I've isolated it down to the fact that log4cxx obliterates the TZ settings in timezone.cpp and dailyrollingfileappender.cpp Questions: Instead of changing to GMT to calculate the diff, why not use gmtime() or gmtime_r()? - I've done this in our code that had to calculate this difference for a LogFile class that dates back almost 8 years... - This way there is not side-effect... *IF* I change the code to work that way, any chance of having it included in the 'official' package? I also noticed that on Solaris using CC, if I compile the whole thing after a make clean, it works. But then if I go change a file recompile... it doesn't work. Looks like the problem is in the 'cache' files that Sun's CC uses for templates somehow during the build process, those files are either deleted or overwritten... and the next time, when you change a single file compile... the linker cannot file a bunch of templates... Regards Renny Koshy President CEO RUBIX Information Technologies, Inc. www.rubixinfotech.com
Log4cxx obliterates the TZ setting...
We have some code which started behaving strange after going to log4cxx for logging... I've isolated it down to the fact that log4cxx obliterates the TZ settings in timezone.cpp and dailyrollingfileappender.cpp Questions: Instead of changing to GMT to calculate the diff, why not use gmtime() or gmtime_r()? - I've done this in our code that had to calculate this difference for a LogFile class that dates back almost 8 years... - This way there is not side-effect... *IF* I change the code to work that way, any chance of having it included in the 'official' package? I also noticed that on Solaris using CC, if I compile the whole thing after a make clean, it works. But then if I go change a file recompile... it doesn't work. Looks like the problem is in the 'cache' files that Sun's CC uses for templates somehow during the build process, those files are either deleted or overwritten... and the next time, when you change a single file compile... the linker cannot file a bunch of templates... Regards Renny Koshy President CEO RUBIX Information Technologies, Inc. www.rubixinfotech.com
Re: Log4cxx obliterates the TZ setting...
Curt: Added the changes to do this... (save/restore the TZ back)... HOWEVER... I'm seeing that there is some sort of static initialization that's resetting the TZ? The following two files have my save restore code added around the tzset() these files have the tcout being used to display when I save / restore them... they should be commented out I guess... However, I still see the following when executing my code. Notice how it goes from US/Eastern to '' ... and then to US/Eastern... and then to GMT... and the SmartACD.cpp:174 is the first print statement from MY code.. so I assume a static initializer or two is being kicked in... but where?? I don't use any static log4cxx stuff... ~~ TimeZone::TimeZone() - Old timezone being saved as 'US/Eastern' and setting to 'TZ=GMT' TimeZone::TimeZone() - Restored timezone to TZ=US/Eastern TimeZone::TimeZone() - Old timezone being saved as '' and setting to 'TZ=' TimeZone::TimeZone() - Restored timezone to TZ= SmartACD.cpp:174 - TZ = 'US/Eastern' - TZName[0] = 'EST', TZName[1] = 'EDT' SmartACD.cpp:181 - TZ = 'US/Eastern' - TZName[0] = 'EST', TZName[1] = 'EDT' TimeZone::TimeZone() - Old timezone being saved as 'US/Eastern' and setting to 'TZ=' TimeZone::TimeZone() - Restored timezone to TZ=US/Eastern TimeZone::TimeZone() - Old timezone being saved as 'GMT' and setting to 'TZ=' TimeZone::TimeZone() - Restored timezone to TZ=GMT Could not connect to remote log4cxx server at [ultra60]. We will try again later. Connection refused TimeZone::TimeZone() - Old timezone being saved as '' and setting to 'TZ=' TimeZone::TimeZone() - Restored timezone to TZ= Could not find value for key log4j.appender.sapp2 Could not instantiate appender named sapp2. SmartACD.cpp:191 - TZ = 'GMT' - TZName[0] = 'GMT', TZName[1] = ' ' ~~ My source code that created the above log entries... ~~ int main(int argc, char *argv[]) { putenv(TZ=US/Eastern); printf(%s:%d - TZ = '%s' - TZName[0] = '%s', TZName[1] = '%s'\n, __FILE__, __LINE__, getenv(TZ) ? getenv(TZ) : , tzname[0], tzname[1]); openlog(SmartACD, LOG_PID, LOG_USER); printf(%s:%d - TZ = '%s' - TZName[0] = '%s', TZName[1] = '%s'\n, __FILE__, __LINE__, getenv(TZ) ? getenv(TZ) : , tzname[0], tzname[1]); sigset(SIGHUP,sig_hdlr); sigset(SIGUSR2,sig_hdlr); log4cxx::PropertyConfigurator::configureAndWatch(SmartACD.ini); printf(%s:%d - TZ = '%s' - TZName[0] = '%s', TZName[1] = '%s'\n, __FILE__, __LINE__, getenv(TZ) ? getenv(TZ) : , tzname[0], tzname[1]); ~~ Renny Koshy President CEO RUBIX Information Technologies, Inc. www.rubixinfotech.com Curt Arnold [EMAIL PROTECTED] 09/01/2004 01:56 PM Please respond to Log4CXX User To:Log4CXX User log4cxx-user@logging.apache.org cc: Subject:Re: Log4cxx obliterates the TZ setting... I had noticed the potential for the problem and logged it as http://nagoya.apache.org/jira/browse/LOGCXX-11. Thanks for confirming that is actually a problem. My suspicion is that gmtime or gmtime_r is not adequate since log4cxx may need to format times to a time-zone other than the current time zone. However, it might be an optimization if the timezone for the layout and the current timezone are the same. I guess the first thing is to at least reset the value of TZ to the initial value after collecting time zone offsets. On Sep 1, 2004, at 11:40 AM, [EMAIL PROTECTED] wrote: We have some code which started behaving strange after going to log4cxx for logging... I've isolated it down to the fact that log4cxx obliterates the TZ settings in timezone.cpp and dailyrollingfileappender.cpp Questions: Instead of changing to GMT to calculate the diff, why not use gmtime() or gmtime_r()? - I've done this in our code that had to calculate this difference for a LogFile class that dates back almost 8 years... - This way there is not side-effect... *IF* I change the code to work that way, any chance of having it included in the 'official' package? timezone.cpp Description: Binary data dailyrollingfileappender.cpp Description: Binary data