public function handle(
        $severity,
        $message,
        $file,
        $line = -1,
        /** @noinspection PhpUnusedParameterInspection */
        array $context = array()
    ) {
        // on error supression with '@' do not log
        if ($severity === 0) {
            return $this->skipInternalErrorHandler;
        }

        $this->logging->log(
            $this->severityName($severity) . ': ' . $message . ' in ' . $file . ' on line ' . $line,
            Shopgate_Helper_Logging_Strategy_LoggingInterface::LOGTYPE_ERROR,
            $this->stackTraceGenerator->generate(
                new Exception('Wrapped around the actual error by Shopgate error handler.')
            )
        );

        return $this->skipInternalErrorHandler;
    }