Hello,

I am trying to log statements coming from EJBs to a SocketServer.

The logging to the SocketServer works fine usually, but when I try to log
from an EJB, I get no log, but this message on the SocketServer :

(this happens even after a basic log statement, such as : cat.debug("log me
please"); )

log4j:WARN Priority deserialization failed, reverting to default.
java.io.OptionalDataException
        at java.io.ObjectInputStream.readObject(Unknown Source)
        at java.io.ObjectInputStream.readObject(Unknown Source)
        at
org.apache.log4j.spi.LoggingEvent.readPriority(LoggingEvent.java:227)
        at
org.apache.log4j.spi.LoggingEvent.readObject(LoggingEvent.java:249)
        at java.lang.reflect.Method.invoke(Native Method)
        at java.io.ObjectInputStream.invokeObjectReader(Unknown Source)
        at java.io.ObjectInputStream.inputObject(Unknown Source)
        at java.io.ObjectInputStream.readObject(Unknown Source)
        at java.io.ObjectInputStream.readObject(Unknown Source)
        at org.apache.log4j.net.SocketNode.run(SocketNode.java:71)
        at java.lang.Thread.run(Unknown Source)

According to jdk1.3 doc, java.io.OptionalDataException appears when :
"Unexpected data appeared in an ObjectInputStream trying to read an Object.
Occurs when the stream contains primitive data instead of the object that is
expected by readObject".

Am I missing something? Why do I get this exception?
Has anyone managed to log from EJBs to a Socket using log4j?

Thanks a lot for any help!

Matthieu

PS : my configs are :

I am using jdk1.3, log4j1.1.1. (and JBoss2.2.2)

The log4j.properties file (on
the EJB container) is the following :

log4j.rootCategory=DEBUG, Default, Console, SOCKET

### The server.log file appender
log4j.appender.Default=org.apache.log4j.FileAppender
log4j.appender.Default.File=../log/server.log
log4j.appender.Default.layout=org.apache.log4j.PatternLayout
# Use the default JBoss format
log4j.appender.Default.layout.ConversionPattern=[%x] %m%n
# Truncate if it aleady exists.
log4j.appender.Default.Append=false

### The console appender
log4j.appender.Console=org.apache.log4j.FileAppender
log4j.appender.Console.File=System.out
log4j.appender.Console.Threshold=INFO
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=[%x] %m%n

### the socket appender
log4j.appender.SOCKET=org.apache.log4j.net.SocketAppender
log4j.appender.SOCKET.RemoteHost=localhost
log4j.appender.SOCKET.Port=9996


Also, the SocketServer uses the localhost.lcf file for incoming messages
(EJB container and SocketServer are both running on my machine) is the
following :

log4j.rootCategory=DEBUG, CONSOLE, FILE
log4j.category.org.apache.log4j.net=DEBUG
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d{HH:mm:ss} [%t] %-5p
%-20c{1} - %m%n

log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=../laser.log
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=%d{HH:mm:ss} [%t] %-5p
%-20c{1} - %m%n









---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to