Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 针对多种情况提出正确的方法_Java - Fatal编程技术网

Java 针对多种情况提出正确的方法

Java 针对多种情况提出正确的方法,java,Java,我建议我的一个朋友不要添加带有单一if条件的记录器。如果在If条款之后有多行,那么它将被视为声纳关键问题 下面是错误的用法 Ex:(单个if子句–声纳关键问题):只有第一行将有条件地执行。其余的将无条件执行 //Some Code if(logger.isInfoEnabled()) logger.info("Entering " + CLASS_NAME + " Method : generateGSTR2PreviewPDF"); //Some Code 因此,我向他们建议了两种方法,请告

我建议我的一个朋友不要添加带有单一if条件的记录器。如果在If条款之后有多行,那么它将被视为声纳关键问题

下面是错误的用法

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

//Some Code
if(logger.isInfoEnabled())
logger.info("Entering " + CLASS_NAME + " Method : generateGSTR2PreviewPDF");
//Some Code
因此,我向他们建议了两种方法,请告知,除我建议的方法外,还有其他更好的方法

我建议的方法如下所示:

第一个是

方法1:(添加花括号):

第二个是

方法2:(通过单独的方法将其分离):


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

第一种方法是
if{}

保护(if语句)是为了防止太多的工作(在信息级别禁用日志记录时)、优化(这里是字符串连接,可能是toString调用)。调用函数会否定这种优化

事实上,与第二种情况不同的是,您可以放弃整个if保护,只需调用
logger.info

在上述情况下,我可能会这样做

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