Ceki Gülcü wrote:

At 06:46 PM 11/12/2005, Alex Karasulu wrote:

2.  I spotted a few calls to log.xxx() which are not wrapped in
log.isxxxEnabled() calls. This can lead to inefficiencies especially when
the log.xxx() call involves String concatenation.  See
org.apache.ldap.server.jndi.ServerContextFactory log.info() calls for
examples.  Can these be changed?


Sure Simon you are 100% right. I don't think anyone has made it a good practice to wrap these things. I will make sure I do this all the time. I will accept and apply any patches that wrap log called with a conditional to see if the log level is enabled. I will apply it immediate if you or anyone else can provide them.


If you are using SLF4J, then wrapping is not necessary. Instead of writing,

if(logger.isDebugEnabled()) {
  logger.debug("User name is "+name+".");
}

you can write

  logger.debug("User name is {}.", name);

The second form is more convenient, has a smaller footprint (both in memory and on disk) and is slightly faster.

For more details, please refer to http://www.slf4j.org/faq.html#2.3

I hope this helps,

Thanks again Ceki. I forgot that this second overload actually does the check for us. Good thing to point out yet again and again. I'm sure people will gravitate as I did to the old way.

Alex


Reply via email to