如何将log4j与udp一起使用

时间:2013-02-08 13:54:55

标签: log4j udp

任何人都可以告诉如何使用log4j进行UDP数据包吗? 我需要我的程序使用log4j,以便它将数据传递给检索UDP数据包的侦听器。

提前致谢

2 个答案:

答案 0 :(得分:2)

要通过UDP进行日志记录以便为Log4j 1.2工作,我们已经从现在放弃的(?)“Apache Receivers Companion for log4j 1.2”项目下载了UDPAppender的源代码(用于从废弃的Log4j 1.3项目向后移植可用代码)和自己编译。初步测试表明它工作正常,但希望你注意到我在上面两次使用“废弃”...

项目页面: http://logging.apache.org/log4j/companions/receivers/index.html

源代码(不在项目页面链接的repo中,他们已将其移至“extras”): http://svn.apache.org/viewvc/logging/log4j/companions/extras/trunk/src/main/java/org/apache/log4j/receivers/net/

答案 1 :(得分:2)

我能够成功地将log4j与UDP服务器集成。这就是我做的。我用了log4j2:

两个jar文件是

  • log4j的核-2.0-beta4.jar
  • 的log4j-API-2.0-beta4.jar

客户端使用logger.debug("Test message");发送。

服务器接收如下:

import org.apache.logging.log4j.core.LogEvent;

LogEvent logEvent = null;
ObjectInputStream obj = null;

enter code here
bis = new ByteArrayInputStream(UDPpacket.getData());
obj = new ObjectInputStream(bis);
logEvent = (LogEvent) obj.readObject();

System.out.println("Got it : " + logEvent.toString());
System.out.println("Got Message : "+ logEvent.getMessage().getFormattedMessage());