谁能告诉如何将 log4j 用于 UDP 数据包?我需要我的程序使用 log4j,以便它将数据传递给检索 UDP 数据包的侦听器。
提前致谢
为了通过 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/
我能够成功地将 log4j 与 UDP 服务器集成。这就是我所做的。我使用了 log4j2:
这两个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());