protected void decisionMade(
      CrawlURI uri, DecideRule decisiveRule, int decisiveRuleNumber, DecideResult result) {
    if (fileLogger != null) {
      JSONObject extraInfo = null;
      if (logExtraInfo) {
        CrawlHost crawlHost = getServerCache().getHostFor(uri.getUURI());
        String host = "-";
        if (crawlHost != null) {
          host = crawlHost.fixUpName();
        }

        extraInfo = new JSONObject();
        extraInfo.put("hopPath", uri.getPathFromSeed());
        extraInfo.put("via", uri.getVia());
        extraInfo.put("seed", uri.getSourceTag());
        extraInfo.put("host", host);
      }

      fileLogger.info(
          decisiveRuleNumber
              + " "
              + decisiveRule.getClass().getSimpleName()
              + " "
              + result
              + " "
              + uri
              + (extraInfo != null ? " " + extraInfo : ""));
    }
  }