引入依赖
<dependency>
<groupId>org.graylog2</groupId>
<artifactId>syslog4j</artifactId>
<version>0.9.60</version>
</dependency>
接收端代码
@Component
@Slf4j
public class SyslogServerComponent {
private SyslogServerIF syslogServer;
@Autowired
private TgWarnLogService tgWarnLogService;
@PostConstruct
public void init() {
syslogServer = SyslogServer.getInstance(SyslogConstants.UDP);
UDPNetSyslogServerConfig udpConfig = (UDPNetSyslogServerConfig) syslogServer.getConfig();
udpConfig.setHost("0.0.0.0");
udpConfig.setPort(514);
udpConfig.setMaxMessageSize(SyslogConstants.SYSLOG_BUFFER_SIZE * 20);
udpConfig.addEventHandler(new SyslogServerSessionEventHandlerIF() {
@Override
public Object sessionOpened(SyslogServerIF syslogServerIF, SocketAddress socketAddress) {
return null;
}
@Override
public void event(Object o, SyslogServerIF syslogServerIF, SocketAddress socketAddress,
SyslogServerEventIF syslogServerEventIF) {
log.warn("接收syslog---------------->");
System.out.println("receive from:" + socketAddress + "\tmessage" + syslogServerEventIF.getMessage());
}
@Override
public void exception(Object o, SyslogServerIF syslogServerIF, SocketAddress socketAddress, Exception e) {
e.printStackTrace();
}
@Override
public void sessionClosed(Object o, SyslogServerIF syslogServerIF, SocketAddress socketAddress, boolean b) {
}
@Override
public void initialize(SyslogServerIF syslogServerIF) {
}
@Override
public void destroy(SyslogServerIF syslogServerIF) {
}
});
SyslogServer.getThreadedInstance(SyslogConstants.UDP);
try {
syslogServer.initialize("SyslogServer", syslogServer.getConfig());
syslogServer.run();
log.warn("SyslogServer run----------------------->");
} catch (Exception e) {
e.printStackTrace();
}
}
@PreDestroy
public void destroy() {
if (syslogServer != null) {
syslogServer.shutdown();
log.warn("SyslogServer destroy----------------------->");
}
}
}