'Initialize a handler.
If address is specified as a string, a UNIX socket is used. To log to a
local syslogd, "SysLogHandler(address="/dev/log")" can be used.
If facility is not specified, LOG_USER is used. If socktype is
specified as socket.SOCK_DGRAM or socket.SOCK_STREAM, that specific
socket type will be used. For Unix sockets, you can also specify a
socktype of None, in which case socket.SOCK_DGRAM will be used, falling
back to socket.SOCK_STREAM.'

def __init__(self, address=('localhost', SYSLOG_UDP_PORT), facility=LOG_USER, socktype=None):

    logging.Handler.__init__(self)
    self.address = address
    self.facility = facility
    self.socktype = socktype
    if isinstance(address, basestring):
        self.unixsocket = 1
        self._connect_unixsocket(address)
    else:
        self.unixsocket = 0
        if (socktype is None):
            socktype = socket.SOCK_DGRAM
        self.socket = socket.socket(socket.AF_INET, socktype)
        if (socktype == socket.SOCK_STREAM):
            self.socket.connect(address)
        self.socktype = socktype
    self.formatter = None
