code: protected function errorHash($errorValues)
      {
          $errMsg = $errorValues['message'];
          // (\(.*?)\d+(.*?\))    "(tried to allocate 16384 bytes)" -> "(tried to allocate xxx bytes)"
          $errMsg = \preg_replace('/(\(.*?)\d+(.*?\))/', '\1x\2', $errMsg);
          // "blah123" -> "blahxxx"
          $errMsg = \preg_replace('/\b([a-z]+\d+)+\b/', 'xxx', $errMsg);
          // "-123.123" -> "xxx"
          $errMsg = \preg_replace('/\b[\d.-]{4,}\b/', 'xxx', $errMsg);
          // remove "comments"..  this allows throttling email, while still adding unique info to user errors
          $errMsg = \preg_replace('/\s*##.+$/', '', $errMsg);
          $hash = \md5($errorValues['file'].$errorValues['line'].$errorValues['type'].$errMsg);
          return $hash;
      }
docs: Generate hash used to uniquely identify this error
  
  @param array $errorValues error array
  
  @return string hash