-2

在进行日志代码分析时,我发现有一些日志语句具有相同的日志消息但具有不同的详细级别,我想知道他们为什么要这样做?(那些日志语句是多年前引入的,很难与引入它们的开发人员取得联系)

比如这里的链接:https ://github.com/apache/cloudstack/blob/893a88d225276e45f12f9490e6af2c94a81c2965/server/src/main/java/com/cloud/network/element/VpcVirtualRouterElement.java

  if (vpcId == null) {
        s_logger.trace("Network " + network + " is not associated with any VPC");
        return false;
    }

 if (vpcId == null) {
        s_logger.error("Network " + network + " is not associated with any VPC");
        return routers;
    }

日志消息和if条件完全一样,那么这里使用不同级别的目的是什么?

4

1 回答 1

1

编码时,条件和消息很重要,但上下文更为重要。

跟踪级别日志需要 vpcId,但如果没有,则不是错误,因为稍后将查找有效的 Vpc

错误级别日志需要一个 vpcId,但如果没有,那就是错误,因为以后不会再查找有效的 Vpc,因此该过程将失败

于 2018-03-17T21:33:39.833 回答