1.下载syslog watcher
SyslogWatcherSetup-5.2.3.msihttps://www.aliyundrive.com/s/8C6Cw7RuyUV2.设置编码
3.java:
<dependency><groupId>org.syslog4j</groupId><artifactId>syslog4j</artifactId><version>0.9.46</version> </dependency>
Syslog4jDemo.java
package com.example.webdemo.syslog;import cn.hutool.json.JSONUtil; import org.productivity.java.syslog4j.Syslog; import org.productivity.java.syslog4j.SyslogIF;import java.net.URLDecoder; import java.util.Date; import java.util.HashMap; import java.util.Map;public class Syslog4jDemo {public static void main(String[] args) {/*这里syslog.log 方法,第一个参数是数字0,代表日志的级别范围为0~7的数字编码,表示了事件的严重程度。0最高,7最低syslog为每个事件赋予几个不同的优先级:LOG_EMERG:紧急情况,需要立即通知技术人员。LOG_ALERT:应该被立即改正的问题,如系统数据库被破坏,ISP连接丢失。LOG_CRIT:重要情况,如硬盘错误,备用连接丢失。LOG_ERR:错误,不是非常紧急,在一定时间内修复即可。LOG_WARNING:警告信息,不是错误,比如系统磁盘使用了85%等。LOG_NOTICE:不是错误情况,也不需要立即处理。LOG_INFO:情报信息,正常的系统消息,比如骚扰报告,带宽数据等,不需要处理。LOG_DEBUG:包含详细的开发情报的信息,通常只在调试一个程序时使用。*/try {//获取syslog的操作类,使用udp协议。SyslogIF syslog = Syslog.getInstance("udp");//设置syslog服务器端地址syslog.getConfig().setHost("127.0.0.1");//设置syslog接收端口,默认514syslog.getConfig().setPort(514);Map<String, Object> map = new HashMap<>();map.put("操作人", "张三");map.put("操作时间", new Date());map.put("执行动作", "修改xxx");System.out.println(JSONUtil.toJsonStr(map));syslog.log(0, URLDecoder.decode(JSONUtil.toJsonStr(map), "UTF-8"));} catch (Exception e) {e.printStackTrace();}} }