建议关于多种条件的正确方法

时间:2017-06-25 12:31:00

标签: java

我建议我的一位朋友不要添加单一if条件的记录器。如果if子句后面有多行,那么它将被视为声纳关键问题

以下是错误的使用

Ex :(单个if子句 - 声纳关键问题):只有第一行会有条件地执行。其余的将无条件执行。

//Some Code
if(logger.isInfoEnabled())
logger.info("Entering " + CLASS_NAME + " Method : generateGSTR2PreviewPDF");
//Some Code

所以我建议他们采用两种方法,请建议任何更好的方法仍然存在,我建议。

我建议的方法如下所示

第一个是

方法1 :(添加鲜花支架):

    //Some Code
    if(logger.isInfoEnabled()){
    logger.info("Entering " + CLASS_NAME + " Method : generateGSTR2PreviewPDF");
    }
    //Some Code

,第二个是

方法2 :(通过单独的方法隔离):

//Some Code
addLogger("Entering " + CLASS_NAME + " Method : generateGSTR2PreviewPDF");
//Some Code

请告知除了这两种方法之外还有更好的方法。

1 个答案:

答案 0 :(得分:0)

第一个if {}

完成guard(if语句)以防止太多工作(在INFO级别禁用日志记录时),优化(此处为字符串连接,也可能是toString调用)。调用函数会否定此优化。

事实上,不是第二种情况,你可以放弃整个if-guard,只需拨打logger.info

在上面的例子中,我可能就是这么做的。