public function log($level, $message, array $context = [])
    {
        if (!$this->_open) {
            $config = $this->_config;
            $this->_open($config['prefix'], $config['flag'], $config['facility']);
            $this->_open = true;
        }

        $priority = LOG_DEBUG;
        if (isset($this->_levelMap[$level])) {
            $priority = $this->_levelMap[$level];
        }

        $messages = explode("\n", $this->_format($message, $context));
        foreach ($messages as $message) {
            $message = sprintf($this->_config['format'], $level, $message);
            $this->_write($priority, $message);
        }

        return true;
    }