protected function logSystemError($type, $message, $file, $line) {
        switch($type) {
            case E_ERROR:
            case E_USER_ERROR:
            case E_RECOVERABLE_ERROR:
            case E_PARSE:
            case E_CORE_ERROR:
            case E_COMPILE_ERROR:
                $this->doLogError($message, ['file' => $file, 'line' => $line]);
                break;
            case E_WARNING:
            case E_CORE_WARNING:
            case E_COMPILE_WARNING:
            case E_USER_WARNING:
                $this->doLogWarning($message, ['file' => $file, 'line' => $line]);
                break;
            default:
                $this->doLogInfo($message, ['file' => $file, 'line' => $line]);
                break;
        }
    }