简单来说,两者主要是为了提升性能。
直接使用logger.info(...)来输出log,在进入log.info函数之产有,括号内的表达式已经通过运算拼接成了一个字符串,而如果事先使用if(logger.isInfoEnabled())进行断断,那么当log级别为debug及以上时,就省去上述的字符串操作,在高并发和复杂的log信息拼接的情况下,使用这种标准的方法输出log能够省去不小的开销。
ERROR级的log信息是一定会输出的,所以没有Logger.isErrorEnabled方法。
最后欢迎大家访问我的个人网站:1024s