/**
  * Logs a check result.
  *
  * @param \Drupal\security_review\CheckResult $result
  *   The result to log.
  */
 public static function logCheckResult(CheckResult $result = NULL)
 {
     if (SecurityReview::isLogging()) {
         if ($result == NULL) {
             $check = $result->check();
             $context = array('!reviewcheck' => $check->getTitle(), '!namespace' => $check->getNamespace());
             SecurityReview::log($check, '!reviewcheck of !namespace produced a null result', $context, RfcLogLevel::CRITICAL);
             return;
         }
         $check = $result->check();
         $level = RfcLogLevel::NOTICE;
         $message = '!name check invalid result';
         switch ($result->result()) {
             case CheckResult::SUCCESS:
                 $level = RfcLogLevel::INFO;
                 $message = '!name check success';
                 break;
             case CheckResult::FAIL:
                 $level = RfcLogLevel::ERROR;
                 $message = '!name check failure';
                 break;
             case CheckResult::WARN:
                 $level = RfcLogLevel::WARNING;
                 $message = '!name check warning';
                 break;
             case CheckResult::INFO:
                 $level = RfcLogLevel::INFO;
                 $message = '!name check info';
                 break;
         }
         $context = array('!name' => $check->getTitle());
         static::log($check, $message, $context, $level);
     }
 }