Приложение Log4j_2 и Socket UDP

Я пытаюсь создать простой UDP-сервер для обработки пакетов из приложения Log4j2 Socket, но я получаю "java.io.StreamCorruptedException: недопустимый заголовок потока: 7372003E" из второго полученного пакета.

ПРИЛОЖЕНИЕ:

<Socket name="Socket" host="localhost" port="9500" protocol="UDP" >
    <SerializedLayout /> 
</Socket>

SNIPPET UDP СЕРВЕР:

public void startSerialized() throws Exception {
    serverSocket = new DatagramSocket(9500);
    LogEvent logEvent = null;
    ObjectInputStream obj = null;
    ByteArrayInputStream bis = null;
    while (true) {
        try {
            receivePacket = new DatagramPacket(packet, packet.length);
            serverSocket.receive(receivePacket);
            bis = new ByteArrayInputStream(receivePacket.getData());
            obj = new ObjectInputStream(bis);
            logEvent = (LogEvent) obj.readObject();
            System.out.println(logEvent.toString());    
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            bis.close();
            obj.close();
        }           
    }
}

Есть какие-нибудь предложения, ребята?


person VeryNiceArgumentException    schedule 12.11.2012    source источник


Ответы (1)


Я использовал тот же код из вашего сообщения, но мне удалось получить журнал отладки на стороне сервера. Ниже мой файл log4j2.xml

    <Socket name="Socket" host="localHost" port="9092" protocol="UDP" >
        <SerializedLayout />
    </Socket>
</appenders>


<loggers>

    <logger name="rezg.gdsws.util" level="info">
        <appender-ref ref="Socket" />
    </logger>

    <logger name="org.apache" level="debug" />  <!-- Otherwise when we enable debug Apache debugs also printed -->

    <root level="debug">
        <appender-ref ref="STDOUT" />
    </root>
</loggers>
person imesh    schedule 03.05.2013
comment
Хорошо, я тоже получаю ту же ошибку. Я сообщил об этом в Apache. issues.apache.org/jira/browse/ - person imesh; 27.05.2013