Create SocketAppender Wireformat compatible to Chainsaw
-------------------------------------------------------

                 Key: LOG4PHP-48
                 URL: https://issues.apache.org/jira/browse/LOG4PHP-48
             Project: Log4php
          Issue Type: Improvement
          Components: Code
            Reporter: Christian Grobmeier
             Fix For: 2.0


Curt Arnold  to Log4PHP Mailinglist
        I haven't looked at this, but I'm guessing that its wire format is not
        compatible with Chainsaw and log4j since they used their easiest
        implementation (Java serialization).  log4cxx 0.9.7 had its own wire 
format,
        but it was dependent on the encoding, sizeof(int) and endianess so you 
had
        to match senders and receivers.  In the current log4cxx, I've mimicked a
        valid Java serialization byte sequence and it can interact with 
Chainsaw and
        other tools that consume log4j serialized events.

Christian Grobmeier wrote:
    Is there any chance to read something somewhere about this?


Curt Arnold  to Log4PHP Mailinglist
Some dissection of the wire format appears in 
https://issues.apache.org/jira/browse/LOGCXX-7.  The file names are the 
comparison files from the unit tests 
(https://svn.apache.org/repos/asf/logging/log4j/trunk/tests/witness/serialization).

The Java serialization spec is here: 
http://java.sun.com/javase/6/docs/platform/serialization/spec/protocol.html.  
That plus the log4j source code defines the wire format that log4j writes and 
Chainsaw consumes.

The applicable log4cxx code is:

https://svn.apache.org/repos/asf/logging/log4cxx/trunk/src/main/cpp/objectoutputstream.cpp
https://svn.apache.org/repos/asf/logging/log4cxx/trunk/src/main/cpp/loggingevent.cpp
 (the last two methods particularly)

and to a lesser degree:

https://svn.apache.org/repos/asf/logging/log4cxx/trunk/src/main/cpp/socketappenderskeleton.cpp
https://svn.apache.org/repos/asf/logging/log4cxx/trunk/src/main/cpp/socketappender.cpp

log4j and log4cxx both have serialization tests in their unit tests.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to