I was looking at the Logger classes the other day and I read some claims
about the performance of the Logger that I found a bit hard to believe.
Ideally what one would like is a system like the assertion system where
logging code is only executed when it is above the level being filtered
by the logging system so code like this:
thisLogger.finest("My info: " + SomeObject.performComplexCalculation());
would not execute except when the user was requesting logging at the
finest level.
I don't believe the Logger is handled this way. It would require
compiler support that I don't believe exists, wouldn't it?
Am I correct in understanding that logging should not be used in inner
loops, even for debugging (if it will be in the code in production)?
Thanks.
- --
Kenneth P. Turvey <kt-usenet@squeakydolphin.com>
http://kt.squeakydolphin.com (not much there yet)
Jabber IM: kpturvey@jabber.org
Phone: (314) 255-2199
(If you've seen this message once before, I apologize. I canceled the
wrong one.)
EricF - 19 Sep 2005 05:41 GMT
>-----BEGIN PGP SIGNED MESSAGE-----
>Hash: SHA1
[quoted text clipped - 27 lines]
>(If you've seen this message once before, I apologize. I canceled the
>wrong one.)
I don't know about the Sun JDK logger class but log4j has boolean methods like
if (logger.isDebugEnabled())
..
I didn't check the docs so the code fragment may not be 100% correct but you
should get the idea.
Eric