Just adding few comments: I gone thought many website and found everybody said BIG NO for twice checking . I would like to say simply “The performance of deciding whether to log or not to log when logging is turned on”. http://michaelandrews.typepad.com/the_technical_times/2011/04/java-logging-reconsidered.html http://slf4j.org/faq.html#logging_performance http://www.slf4j.org/faq.html#logging_performance http://stackoverflow.com/questions/10428447/log-debug-enabled-check-in-java http://stackoverflow.com/questions/17850614/is-log4j-isdebugenabled-necessary-before-using-logger-debug http://stackoverflow.com/questions/963492/in-log4j-does-checking-isdebugenabled-before-logging-improve-performance http://stackoverflow.com/questions/6504407/is-there-a-need-to-do-a-iflog-isdebugenabled-check http://programmers.stackexchange.com/questions/176078/what-is-the-correct-way-to-handle-debug-output-in-java http://livingtao.blogspot.in/2007/05/when-to-call-isdebugenabled-before.html https://logging.apache.org/log4j/2.x/performance.html Without changing anything: Total Without Check: 26900 ms Total With Check: 22536 ms But results are very surprising  because it’s due to classic logback due to logically it doesn’t make sense. So there should be very efficient mechanism for checking isDebugEnabled. I raised an enhance bug in logback API. Also here we are compromising with cyclomatic complexity and code coverage because Code coverage can be achieved by setting debug level programmatically that is also panic. I was using slf4j with slf4j-log4j12 run time binding so timing was different: Total With Check: 53574 ms Total Without Check: 50192 ms Here checking was slow  Few more Observations: As per logger documentation, We should not use static Logger but when writing stand-alone application code the use of static is a good idea. So avoid memory leak issues, I just changed LOGGER as non-static. http://wiki.apache.org/commons/Logging/StaticLog http://www.slf4j.org/faq.html#declared_static http://slf4j.org/faq.html#logging_performance Performance results are totally changed: Total Without Check: 37095 ms Total With Check: 47006 ms Here checking is also slow 