java 如何用syslog.4j 接收然后解析消息

qq_21750637 2017-02-23 11:20:08
下面这块代码是直接在控制台输出的,我想得到一个字符串并且解析它 求高人指点。贴下代码。
SyslogServerEventHandlerIF eventHandler = new PrintStreamSyslogServerEventHandler(System.out);
SyslogServerIF serverIF = SyslogServer.getInstance("udp");
SyslogServerConfigIF config = serverIF.getConfig();
config.setHost("192.168.1.114");
config.setPort(10000);
config.addEventHandler(eventHandler);
serverIF.initialize("udp",config);
serverIF.run();
...全文
1087 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_21073297 2020-02-23
  • 打赏
  • 举报
回复
这个syslog4j的文档,哪里有呀,百度没搜着
路边丶一个桶 2019-04-22
  • 打赏
  • 举报
回复 3
虽然时隔俩年,我还是要挖坟回复你,我已经做出来了https://blog.csdn.net/qq_33248254/article/details/89403394
qq_21750637 2017-02-24
  • 打赏
  • 举报
回复
大神能否详细点 贴下代码
tianfang 2017-02-23
  • 打赏
  • 举报
回复
上面是SyslogEventHandler 的demo sessionOpened,event,exception,sessionClosed是要按自己需要改写 你代码中的第一句,生成一个这个类的实例
tianfang 2017-02-23
  • 打赏
  • 举报
回复

package com.demo.syslog.server;

import java.net.SocketAddress;

import org.graylog2.syslog4j.server.SyslogServerEventIF;
import org.graylog2.syslog4j.server.SyslogServerIF;
import org.graylog2.syslog4j.server.SyslogServerSessionEventHandlerIF;

public class SyslogEventHandler implements SyslogServerSessionEventHandlerIF {

	private static final long serialVersionUID = 4911589546629699192L;

	@Override
	public void initialize(SyslogServerIF syslogServer) {
		System.out.println("initialize(SyslogServerIF syslogServer)");
	}

	@Override
	public void destroy(SyslogServerIF syslogServer) {
		System.out.println("destroy(SyslogServerIF syslogServer)");
	}

	@Override
	public Object sessionOpened(SyslogServerIF syslogServer,
			SocketAddress socketAddress) {
		System.out.println("sessionOpened: socketAddress "+socketAddress);
		return null;
	}

	@Override
	public void event(Object session, SyslogServerIF syslogServer,
			SocketAddress socketAddress, SyslogServerEventIF event) {
		System.out.println("event: socketAddress "+socketAddress);
	}

	@Override
	public void exception(Object session, SyslogServerIF syslogServer,
			SocketAddress socketAddress, Exception exception) {
		System.out.println("exception: socketAddress "+socketAddress);
	}

	@Override
	public void sessionClosed(Object session, SyslogServerIF syslogServer,
			SocketAddress socketAddress, boolean timeout) {
		System.out.println("sessionClosed: socketAddress "+socketAddress);
	}

}

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧