判断Logger级别是否开启的方法

来源:互联网 发布:创业软件有哪些 编辑:程序博客网 时间:2024/04/28 15:08

.. 判断Logger级别是否开启的方法
  • public boolean isTraceEnabled();
  • public boolean isDebugEnabled();
  • public boolean isInfoEnabled();
  • public boolean isWarnEnabled();
  • public boolean isErrorEnabled();
这组方法的作用主要是避免没必要的log信息对象的产生,尤其是对于不支持参数化信息的Log框架(Log4j 1, commons-logging)。如下面的例子所示,如果没有加debug级别判断,在Debug级别被禁用的环境(生产环境)中,第二行的代码将没有必要的产生多个String对象。
 if(logger.isDebugEnabled()){
   logger.debug("["+resultCount+"]/["+totalCount+"] of users are returned");
 }
如果使用了参数信息的方法,在如下代码中,即使没有添加debug级别(第一行)判断,在生产环境中,第二行代码只会生成一个String对象。
 if(logger.isDebugEnabled()){
  logger.debug("[{}]/[{}] of users in group are returned", resultCount,totalCount);
 }
因此,为了代码的可读性,我一般情况下使用参数化信息的方法,并且不做Logger级别是否开启的判断,换句话说,这组方法我一般情况下不会用。

0 0
原创粉丝点击