I use the boolean check do other things as well.

if(this.IsDebugEnabled){
        string message = ExpensiveMessaegCreation();
        Logger.Log(ThisDeclaringType, m_levelDebug, message, null);
} 

dru

-----Original Message-----
From: Tom Nichols [mailto:[EMAIL PROTECTED] 
Sent: Friday, November 18, 2005 8:50 AM
To: [email protected]
Subject: Re: Checking IsDebugEnabled before calling Debug()?

Hi,

I was going through the examples and saw this:
       // Log a debug message. Test if debug is enabled before
       // attempting to log the message. This is not required but
       // can make running without logging faster.
       if (log.IsDebugEnabled) log.Debug("This is a debug message");

My question is, why not just check this in LogImpl.Debug() , i.e.
       virtual public void Debug(object message)
       {
               if( this.IsDebugEnabled ) Logger.Log(ThisDeclaringType,
m_levelDebug, message, null); }

And then of course do the same for DebugFormat, Info, Warn, etc. etc.
I haven't dug much into the code but I'm interested in using the framework.
It just seems to me that if you really get a performance enhancement from
testing if IsDebugEnabled before calling it, it would make more sense to
save that step everywhere you make that Debug() call in paractice.

I'm guessing there's a good reason why, but could someone tell me?

Thanks.
-Tom


Reply via email to