任何人都可以告诉如何使用log4j进行UDP数据包吗? 我需要我的程序使用log4j,以便它将数据传递给检索UDP数据包的侦听器。
提前致谢
答案 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文件是
客户端使用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());