logging-log4j-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Moley Harey <moleyha...@gmail.com>
Subject Re: Problems with log4j SimpleSocketServer connection
Date Thu, 26 Mar 2009 08:44:02 GMT
Hi, thanks for your answers...

I changed the appender in my log4cxx properties file to be a
XMLSocketAppender and now I get the following exception when trying to
connect to my SocketServer:

2009-03-26 09:35:08,528 INFO  NRTSocketServer - NRTSocketServer :: Connected
to client at /127.0.0.1
2009-03-26 09:35:08,528 INFO  NRTSocketServer - NRTSocketServer :: Starting
new socket node.
2009-03-26 09:35:08,534 ERROR org.apache.log4j.net.SocketNode - Could not
open ObjectInputStream to Socket[addr=/127.0.0.1,port=37049,localport=4445]
java.io.StreamCorruptedException: invalid stream header
        at
java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:764)
        at java.io.ObjectInputStream.<init>(ObjectInputStream.java:277)
        at org.apache.log4j.net.SocketNode.<init>(SocketNode.java:55)
        at NRTSocketServer.main(NRTSocketServer.java:46)

My SocketServer is based on the log4j Java class SimpleSocketServer, is this
class able to receive XML messages sent by log4cxx using XMLSocketAppender?
Or do I have to implement a different Java SocketServer that understand
these messages?

2009/3/25 Dmitry <dmiperl@gmail.com>

> You must use XMLSocketAppender to send log from any non-Java client to Java
> server.
> Put something like this into your C++ properties file :
> log4j.appender.A1=org.apache.log4j.net.XMLSocketAppender
> log4j.appender.A1.RemoteHost=localhost
> log4j.appender.A1.Port=12345
> It should work..
>
> Kind regards,
> Dmitry
> http://www.moonlit-software.com
>
>
> Moley Harey wrote:
>
>> Hi folks,
>>
>> I have implemented a Java SimpleSocketServer application that is running
>> with log4j version 1.2, I have done a test Java class that initialize the
>> logging and sends a couple of messages to the SimpleSocketServer and works
>> fine, all messages sent by the test class are succesfully written in the
>> same log file.
>>
>> Then I have done the same with a C++ log4cxx application, updating the
>> log4cxx.properties file to be like this:
>>
>> log4j.rootCategory=DEBUG,stdout,A1
>>
>> log4j.appender.stdout=org.apache.log4j.ConsoleAppender
>> log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
>>
>> log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
>>
>> # A1 is set to be a SocketAppender sending its output to the server
>> running
>> on the remote host, port 4445
>> log4j.appender.A1=org.apache.log4j.net.SocketAppender
>> log4j.appender.A1.Port=4445
>> log4j.appender.A1.RemoteHost=127.0.0.1
>>
>> I have run my C++ application and what I get in my log file are just the
>> following messages:
>>
>> 2009-03-25 17:14:33,914 INFO  NRTSocketServer - NRTSocketServer ::
>> Connected
>> to client at /127.0.0.1
>> 2009-03-25 17:14:33,969 INFO  NRTSocketServer - NRTSocketServer ::
>> Starting
>> new socket node.
>>
>> And after this no debug or info message is logged, just when my C++
>> application has finished I get the following message:
>>
>> 2009-03-25 17:16:25,290 ERROR org.apache.log4j.net.SocketNode - Could not
>> open ObjectInputStream to Socket[addr=/127.0.0.1
>> ,port=36965,localport=4445]
>> java.io.EOFException
>>        at
>>
>> java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2228)
>>        at
>>
>> java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2694)
>>        at
>> java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:761)
>>        at java.io.ObjectInputStream.<init>(ObjectInputStream.java:277)
>>        at org.apache.log4j.net.SocketNode.<init>(SocketNode.java:55)
>>        at NRTSocketServer.main(NRTSocketServer.java:46)
>>
>> So from logging messages from Java application using log4j to Java
>> ServerSocket works fine, but from C++ application using log4cxx 0.10 does
>> not work...
>>
>> Could be the problem the type of Appender I am using? Maybe I should use
>> something like XMLSocketAppender or so?
>>
>> Thanks in advance,
>>
>> Mh
>>
>>
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
> For additional commands, e-mail: log4j-user-help@logging.apache.org
>
>


-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
— Las cosas que vemos —dijo Pistorius con voz apagada— son las mismas cosas
que llevamos en nosotros.
No hay más realidad que la que tenemos dentro.  (Herman Hesse)

http://moleyharey.blogspot.com/

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message