
With log.debug("The object is " + object), it will always call .toString() on object because the string argument needs to be constructed before the call to .debug(). To avoid this use either If (log.isDebugEnabled()) { Log.debug("The object is " + object); } Or the slf/logback usage Log.debug("The object is {0}", object); Which will delay the call to .toString() until it has determined that debug logging is needed. Brett Sent from my iPad On 08/02/2013, at 7:43 AM, "Kristian Lind" <klpcrap@gmail.com<mailto:klpcrap@gmail.com>> wrote: In a previous project I switched from commons-logging -> log4j to sl4j -> logback. One of the reasons I did that was the overhead in log4j when providing a object in the log... log.debug("This is a object" + object); would cause the object.toString to be called even debug was not enabled. Now I work on a new project that uses commons-logging -> sl4j -> logback (jcl-over-slf4j) My question is now, will this still call object.toString.. even debug is not enabled import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; .... log.debug("This is a object" + object); I would like to get rid of commons-logging and jcl-over.sl4j and only have sl4j and logback. _______________________________________________ Logback-user mailing list Logback-user@qos.ch<mailto:Logback-user@qos.ch> http://mailman.qos.ch/mailman/listinfo/logback-user