text: """
  Syslog notification service.
  
  For more details about this platform, please refer to the documentation at
  https://home-assistant.io/components/notify.syslog/
  """
  import logging
  
  import voluptuous as vol
  
  from homeassistant.components.notify import (
      ATTR_TITLE, ATTR_TITLE_DEFAULT, PLATFORM_SCHEMA, BaseNotificationService)
  
  
  CONF_FACILITY = 'facility'
  CONF_OPTION = 'option'
  CONF_PRIORITY = 'priority'
  
  SYSLOG_FACILITY = {
      'kernel': 'LOG_KERN',
      'user': 'LOG_USER',
      'mail': 'LOG_MAIL',
      'daemon': 'LOG_DAEMON',
      'auth': 'LOG_KERN',
      'LPR': 'LOG_LPR',
      'news': 'LOG_NEWS',
      'uucp': 'LOG_UUCP',
      'cron': 'LOG_CRON',
      'syslog': 'LOG_SYSLOG',
      'local0': 'LOG_LOCAL0',
      'local1': 'LOG_LOCAL1',
      'local2': 'LOG_LOCAL2',
      'local3': 'LOG_LOCAL3',
      'local4': 'LOG_LOCAL4',
      'local5': 'LOG_LOCAL5',
      'local6': 'LOG_LOCAL6',
      'local7': 'LOG_LOCAL7',
  }
  
  SYSLOG_OPTION = {
      'pid': 'LOG_PID',
      'cons': 'LOG_CONS',
      'ndelay': 'LOG_NDELAY',
      'nowait': 'LOG_NOWAIT',
      'perror': 'LOG_PERROR',
  }
  
  SYSLOG_PRIORITY = {
      5: 'LOG_EMERG',
      4: 'LOG_ALERT',
      3: 'LOG_CRIT',
      2: 'LOG_ERR',
      1: 'LOG_WARNING',
      0: 'LOG_NOTICE',
      -1: 'LOG_INFO',
      -2: 'LOG_DEBUG',
  }
  
  PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
      vol.Optional(CONF_FACILITY, default='syslog'):
          vol.In(SYSLOG_FACILITY.keys()),
      vol.Optional(CONF_OPTION, default='pid'): vol.In(SYSLOG_OPTION.keys()),
      vol.Optional(CONF_PRIORITY, default=-1): vol.In(SYSLOG_PRIORITY.keys()),
  })
  
  
  _LOGGER = logging.getLogger(__name__)
  
  
  def get_service(hass, config):
      """Get the syslog notification service."""
      import syslog
  
      facility = getattr(syslog, SYSLOG_FACILITY[config.get(CONF_FACILITY)])
      option = getattr(syslog, SYSLOG_OPTION[config.get(CONF_OPTION)])
      priority = getattr(syslog, SYSLOG_PRIORITY[config.get(CONF_PRIORITY)])
  
      return SyslogNotificationService(facility, option, priority)
  
  
  class SyslogNotificationService(BaseNotificationService):
      """Implement the syslog notification service."""
  
      def __init__(self, facility, option, priority):
          """Initialize the service."""
          self._facility = facility
          self._option = option
          self._priority = priority
  
      def send_message(self, message="", **kwargs):
          """Send a message to a user."""
          import syslog
  
          title = kwargs.get(ATTR_TITLE, ATTR_TITLE_DEFAULT)
  
          syslog.openlog(title, self._option, self._facility)
          syslog.syslog(self._priority, message)
          syslog.closelog()
  