Thanks, that's good to know. The amount and level of logging in JBossMQ needs to be looked at, its not completely hopeless, but its far from consistent (mainly because of my changes I guess).
> -----Original Message----- > From: Scott M Stark [mailto:[EMAIL PROTECTED]] > Sent: Thursday, November 15, 2001 9:46 AM > To: [EMAIL PROTECTED] > Subject: Re: [JBoss-dev] CVS update: > jbossmq/src/main/org/jboss/mq/pm/file CacheStore.java > CacheStoreMBean.java > > > This is the purpose of the Logger.isXXXEnabled() call. Any debugging > that is executed on a per message basis should be a trace > level message > that is enclosed inside of a test for that priority level > being active. This > allows for enabling tracing with very fine control at runtime > and one of > the primary reasons for basing logging on log4j. This incurs a minimal > overhead. The current Logger class is a subclass of the log4j Category > and this will be changed next week, but that will not change the usage > pattern which is as follows: > > import org.jboss.logging.Logger; > > public abstract class SomeClass > { > protected Logger log = Logger.create(Some.class or > whatever category > name); > > protected void register(EntityEnterpriseContext ctx, > Transaction tx) > { > boolean trace = log.isTraceEnabled(); > if( trace ) > log.trace("register, ctx="+ctx+", tx="+tx); > } > } > > > The cost of constructing all the message strings, even if > they aren't > used, > > can add considerable overhead to the system (if you don't > believe me then > > create a test and see). Remember I managed to get > somewhere between a 10 > to > > 20 times speed improvement by improving the serialisation code and > removing > > these debug statements from inside the inner loop. If you > really, really > > want them then place them behind a static final boolean flag i.e. > > > > if(DEBUG) log.debug("a message"); > > > > so that we can easily set the flag to false and recompile a higher > > performance version of the engine. With the static flag > set to false the > > compiler removes the line completely, so there is no > performance hit at > all. > > > > Thanks David. > > > > > > _______________________________________________ > Jboss-development mailing list > [EMAIL PROTECTED] > https://lists.sourceforge.net/lists/listinfo/jboss-development > _______________________________________________ Jboss-development mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-development