/**
  * Log an error.
  *
  * @param string $level The level name of the log.
  * @param array $data Array of error data.
  * @return bool
  */
 protected function _logError($level, $data)
 {
     $message = sprintf('%s (%s): %s in [%s, line %s]', $data['error'], $data['code'], $data['description'], $data['file'], $data['line']);
     if (!empty(Configuration::getInstance()->get("Error/printTrace", false))) {
         $trace = Debugger::trace(['start' => 1, 'format' => 'log']);
         $request = Router::getInstance()->request();
         if ($request) {
             $message .= $this->_requestContext($request);
         }
         $message .= "\nTrace:\n" . $trace . "\n";
     }
     $message .= "\n\n";
     return Logger::getInstance()->write($level, $message);
 }