Perhaps one telling comment is "My logger does formatting&writing to log
file in a background thread". My question is, do your measurements
account for all background processing having been completed? If not,
this may explain why log4j performance appears to degrade in comparison
with "mylogger" as logging load increases -- assuming that I am reading
your results correctly.

Jim 

-----Original Message-----
From: Shapira, Yoav [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, September 03, 2002 9:40 AM
To: Log4J Users List
Subject: RE: Performance between Log4j and custom in-house logger


Hi,
There are always going to be difference between any two systems designed
to do the same thing.  Your system was obviously designed for your
needs, and probably not much more.  Log4j is designed to be generic,
useful to a very broad range of people / applications, easily
extensible, and yet fast.  

At my organization, we carefully compared five or six in-house custom
logging systems and a couple of 3rd party ones.  We included very
detailed performance comparisons and profilings.  We found log4j to be
as fast or faster than nearly all the other implementation, while
providing the best range of features.  As we need a lot of its features
(JDBC logging, SMTP logging, runtime configurability, JMS logging, daily
rolling, appender thresholds, object renderers, etc), we picked log4j,
and have been very very happy since.

So it's a question of what you need from your logging system.  If your
system did everything you need, you probably wouldn't even be
considering log4j, right? ;)  Maybe it';; easier to add just the
features you need to your own system, instead of migrating to log4j
completely?

The point is, if you want to help tune log4j you're welcome to.  It's
open source and contributors are always welcome, right Ceki? ;)
However, having used log4j in numerous apps from very small to very
large, we've never had any complaints about its performance.  There was
always a lot of tuning to be done on our own apps before logging
performance showed up as a blip on the profiler screen...

Yoav Shapira
Millennium ChemInformatics


>-----Original Message-----
>From: sk k [mailto:[EMAIL PROTECTED]]
>Sent: Tuesday, September 03, 2002 10:30 AM
>To: [EMAIL PROTECTED]
>Subject: Performance between Log4j and custom in-house logger
>
>Hi,
>
>We are planning to move from a custom in house logging
>framework (MyLogger) to using Log4j and have been
>doing some performance comparison between log4j and
>MyLogger.
>
>The numbers seem to be favoring mylogger over log4j.
>
>
>Sample Numbers
>==============
>Note: Timing includes logj startup time, mylogger
>startup time and junitperf startup time.
>
>1) Logging 2 strings, each of size: 128bytes
>
>Request MyLogger(sec) Log4j(sec)
>======  =======       =========
>100    1.22    1.29
>1000   1.67    1.71
>2000   2.12    2.01
>
>
>
>2) Logging 4 strings, each of size: 128bytes
>
>Request MyLogger(sec) Log4j(sec)
>======  =======       =========
>100    1.21    1.25
>1000   1.653   1.82
>2000   2.24    2.56
>
>
>3) Logging 8 strings, each of size: 128bytes
>
>Request MyLogger(sec) Log4j(sec)
>======  =======       =========
>100    1.35    1.35
>400    1.56    1.71
>900    1.8     2.35
>
>4) Logging 80 strings, each of size: 128bytes
>
>Request MyLogger(sec) Log4j(sec)
>======  =======       =========
>100    1.251   1.7
>1000   1.81    6.1
>2000   2.15    11.2
>
>
>Sample code and configuration
>===========================
>log4j.properties
>==============
>log4j.rootCategory=DEBUG,dest1
>
>log4j.appender.dest1=org.apache.log4j.RollingFileAppender
>log4j.appender.dest1.layout=org.apache.log4j.SimpleLayout
>log4j.appender.dest1.File=c:/skk/cps/logger/test/test1.log
>log4j.appender.dest1.MaxFileSize=4MB
>log4j.appender.dest1.MaxBackupIndex=60
>
>
>log4j.category.ut.log.Log4jPerfTest=DEBUG,dest2
>log4j.additivity.Log4jPerfTest=false
>log4j.appender.dest2=org.apache.log4j.RollingFileAppender
>log4j.appender.dest1.layout=org.apache.log4j.TTCCLayout
>
>log4j.appender.dest2.File=c:/skk/cps/logger/test/test.log
>log4j.appender.dest2.MaxFileSize=4MB
>log4j.appender.dest2.MaxBackupIndex=60
>
>Test Logger code
>===============
>
>Note: logMsgs is an array with strings of size 128
>bytes.
>
>   public void test_Log4j() throws Exception {
>
>        int size = logMsgs.size();
>
>        for( int i=0; i<size; i++ ) {
>            log4jLogger.info( (String)logMsgs.get(i)
>);
>        }
>
>    }
>
>Some of my questions
>
>1) Is there anything that I can do to increase the
>performance of log4j on my box( Pentium-3, 800Mhz,
>512MB RAM)
>
>2) I see some architectural difference between the way
>mylogger and log4j is implemented namely
> My logger does formatting&writing to log file in a
>background thread whereas it seems that log4j doesn't
> seem do the same. Is this true.
> My logger uses the concept of observer and
>observable.
>
>
>Thanks.
>
>__________________________________________________
>Do You Yahoo!?
>Yahoo! Finance - Get real-time stock quotes
>http://finance.yahoo.com
>
>--
>To unsubscribe, e-mail:   <mailto:log4j-user-
>[EMAIL PROTECTED]>
>For additional commands, e-mail: <mailto:log4j-user-
>[EMAIL PROTECTED]>




<font size="1">Confidentiality Warning:  This e-mail contains information intended 
only for the use of the individual or entity named above.  If the reader of this 
e-mail is not the intended recipient or the employee or agent responsible for 
delivering it to the intended recipient, any dissemination, publication or copying of 
this e-mail is strictly prohibited. The sender does not accept any responsibility for 
any loss, disruption or damage to your data or computer system that may occur while 
using data contained in, or transmitted with, this e-mail.   If you have received this 
e-mail in error, please immediately notify us by return e-mail.  Thank you.


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to