@Python接收发送syslog日志信息
import logging
import logging.handlers
logger = logging.getLogger()
fh = logging.handlers.SysLogHandler((‘127.0.0.1’, 514), logging.handlers.SysLogHandler.LOG_AUTH)
formatter = logging.Formatter(’%(asctime)s - %(name)s - %(levelname)s - %(message)s’)
fh.setFormatter(formatter)
logger.addHandler(fh)
logger.warning(“msg”)
logger.error(“msg”)
-- encoding: utf-8 --
import logging
import socketserver
import threading
LOG_FILE = ‘syslog.log’
logging.basicConfig(level=logging.INFO,
format=’%(message)s’,
datefmt=’’,
filename=LOG_FILE,
filemode=‘a’)
class SyslogUDPHandler(socketserver.BaseRequestHandler):
def handle(self):
data = bytes.decode(self.request[0].strip())
socket = self.request[1]
print( "%s : " %
# self.client_address[0],
str(data))
logging.info(str(data))
socket.sendto(data.upper(), self.client_address)
if name == “main”:
try:
HOST, PORT = “0.0.0.0”, 514
server = socketserver.UDPServer((HOST, PORT), SyslogUDPHandler)
server.serve_forever(poll_interval=0.5)
except (IOError, SystemExit):
raise
except KeyboardInterrupt:
print (“Crtl+C Pressed. Shutting down.”)