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

Reply via email to