3

谁能告诉如何将 log4j 用于 UDP 数据包?我需要我的程序使用 log4j,以便它将数据传递给检索 UDP 数据包的侦听器。

提前致谢

4

2 回答 2

2

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

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

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

于 2013-04-17T11:14:58.793 回答
2

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

这两个jar文件是

  • log4j-core-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());
于 2013-05-03T11:34:53.427 回答