[ 
https://issues.apache.org/jira/browse/LOG4PHP-48?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12755750#action_12755750
 ] 

scott deboy edited comment on LOG4PHP-48 at 9/15/09 3:34 PM:
-------------------------------------------------------------

log4j provides a number of receivers (and appenders) that support XML-formatted 
content.

Chainsaw uses these receivers, so you just have to configure Chainsaw with the 
correct receiver.  See XMLSocketReceiver, UDPReceiver and MulticastReceiver.  

You can also use Chainsaw to load regular text files, load events out of a 
database and load xml files.  XML-based content can either conform to log4j's 
dtd or java.util.logging's DTD.  

Note, these are xml fragments, not xml documents, that are loaded.  For an 
example, start chainsaw, go to the chainsaw-log tab and choose file-save as and 
save the content (formatted as xml).  note, you can also load this xml content 
via file/load log4j file.

      was (Author: [email protected]):
    Chainsaw already supports this capability - see XMLSocketReceiver, 
UDPReceiver and MulticastReceiver.  You can also use Chainsaw to load regular 
text files, load events out of a database and load xml files.  XML-based 
content can either conform to log4j's dtd or java.util.logging's DTD.  Note, 
these are xml fragments, not xml documents, that are loaded.  For an example, 
start chainsaw, go to the chainsaw-log tab and choose file-save as and save the 
content (formatted as xml).  note, you can also load this xml content via 
file/load log4j file.
  
> 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.1
>
>
> 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