package org.jeecg.modules.mdc.util; import lombok.extern.slf4j.Slf4j; import org.graylog2.syslog4j.Syslog; import org.graylog2.syslog4j.SyslogIF; import java.net.URLDecoder; /** * @author clown * * @date 2023/12/17 */ @Slf4j public class SyslogClient { private static final String MESSAGE = "charset=utf-8 logType=通知 instanceName=实例1 taskName=任务2" + " logLevel=告警 objectName=对象1 desc=明细1 result=成功 date=2023-10-30 00:21:00"; public static void send(String ip, Integer port) { try { // 获取syslog的操作类,使用udp协议。syslog支持"udp", "tcp"协议 SyslogIF syslog = Syslog.getInstance("udp"); // 设置syslog服务器端地址和端口 syslog.getConfig().setHost(ip); syslog.getConfig().setPort(port); //发送信息到服务器,2表示日志级别 范围为0~7的数字编码,表示了事件的严重程度。0最高,7最低 syslog.log(0, URLDecoder.decode(MESSAGE, "utf-8")); log.info("发送成功"); } catch (Exception e) { e.printStackTrace(); } } public static Boolean sendClient(String ip, Integer port, String messageClient) { try { log.info(messageClient); // 获取syslog的操作类,使用udp协议。syslog支持"udp", "tcp"协议 SyslogIF syslog = Syslog.getInstance("tcp"); // 设置syslog服务器端地址和端口 syslog.getConfig().setHost(ip); syslog.getConfig().setPort(port); //发送信息到服务器,2表示日志级别 范围为0~7的数字编码,表示了事件的严重程度。0最高,7最低 syslog.log(0, URLDecoder.decode(messageClient, "utf-8")); log.info("发送成功"); return true; } catch (Exception e) { e.printStackTrace(); return false; } } }