protected function fireLogEvent($level, $message, array $context = [])
    {
        // If the event dispatcher is set, we will pass along the parameters to the
        // log listeners. These are useful for building profilers or other tools
        // that aggregate all of the log messages for a given "request" cycle.
        if (!isset($this->dispatcher)) {
            return;
        }

        if (class_exists(MessageLogged::class)) {
            $this->dispatcher->dispatch(new MessageLogged($level, $message, $context));
        } else {
            $this->dispatcher->fire('illuminate.log', compact('level', 'message', 'context'));
        }
    }