def init(self, *priv):
if len(priv) < 1:
raise error.SnmpsimError('Bad syslog params, need at least facility, also accept priority, host, port, socktype (tcp|udp)')
if len(priv) < 2:
priv = [priv[0], 'debug']
if len(priv) < 3:
priv = [priv[0], priv[1], 'localhost', 514, 'udp']
if not priv[2].startswith('/'):
if len(priv) < 4:
priv = [priv[0], priv[1], priv[2], 514, 'udp']
if len(priv) < 5:
priv = [priv[0], priv[1], priv[2], 514, 'udp']
priv = [priv[0], priv[1], priv[2], int(priv[3]), priv[4]]
try:
handler = handlers.SysLogHandler(priv[2].startswith('/') and priv[2] or (priv[2], int(priv[3])),
priv[0].lower(), len(priv) > 4 and priv[
4] == 'tcp' and socket.SOCK_STREAM or socket.SOCK_DGRAM)
except:
raise error.SnmpsimError('Bad syslog option(s): %s' % sys.exc_info()[1])
handler.setFormatter(logging.Formatter('%(asctime)s %(name)s: %(message)s'))
self._logger.addHandler(handler)
评论列表
文章目录