You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-user@logging.apache.org by Mike Norman <mw...@sympatico.ca> on 2002/07/13 19:19:05 UTC

SocketAppender ignoring ErrorHandler?

I've been playing around with a simple configuration of a program sending its logging info
to a central JVM and it appears that SocketAppender does what I want.

However, if the central JVM is not running, the SocketAppender gives the following msg:

log4j:ERROR Could not connect to remote log4j server at [localhost]. We will try again later.
java.net.ConnectException: Connection refused: connect
 at java.net.PlainSocketImpl.socketConnect(Native Method)
 at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:295)
 at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:161)
 at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:148)
 at java.net.Socket.connect(Socket.java:425)
 at java.net.Socket.connect(Socket.java:375)
 at java.net.Socket.<init>(Socket.java:290)
 at java.net.Socket.<init>(Socket.java:146)
 at org.apache.log4j.net.SocketAppender.connect(SocketAppender.java:195)
 at org.apache.log4j.net.SocketAppender.<init>(SocketAppender.java:145)
 at benchmark.WorkloadConfiguration.run(WorkloadConfiguration.java:68)
 at benchmark.WorkloadManager.main(WorkloadManager.java:186)

I tried to install an ErrorHandler so that I could possibly detect this situation and
install a backup Appender, but it appears that SocketAppender is ignoring the ErrorHandler
I installed.

Any ideas?

Thanks in advance,

Mike Norman


Re: SocketAppender ignoring ErrorHandler?

Posted by Mike Norman <mw...@sympatico.ca>.
Further analysis shows that the problem occurs in the constructor of
SocketAppender.
This is where the call to connect to the given host/port is done in a local
method; any
exception thrown is caught in a local try-catch block and (as I surmised)
the ErrorHandler
is not used.

hth,
mwn

----- Original Message -----
From: "Ceki Gülcü" <ce...@qos.ch>
To: "Log4J Users List" <lo...@jakarta.apache.org>
Sent: Saturday, July 13, 2002 6:09 PM
Subject: Re: SocketAppender ignoring ErrorHandler?


> At 13:19 13.07.2002 -0400, you wrote:
> >I've been playing around with a simple configuration of a program sending
> >its logging info
> >to a central JVM and it appears that SocketAppender does what I want.
> >
> >However, if the central JVM is not running, the SocketAppender gives the
> >following msg:
> >
> >log4j:ERROR Could not connect to remote log4j server at [localhost]. We
> >will try again later.
> >java.net.ConnectException: Connection refused: connect
> >  at java.net.PlainSocketImpl.socketConnect(Native Method)
> >  at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:295)
> >  at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:161)
> >  at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:148)
> >  at java.net.Socket.connect(Socket.java:425)
> >  at java.net.Socket.connect(Socket.java:375)
> >  at java.net.Socket.<init>(Socket.java:290)
> >  at java.net.Socket.<init>(Socket.java:146)
> >  at org.apache.log4j.net.SocketAppender.connect(SocketAppender.java:195)
> >  at org.apache.log4j.net.SocketAppender.<init>(SocketAppender.java:145)
> >  at benchmark.WorkloadConfiguration.run(WorkloadConfiguration.java:68)
> >  at benchmark.WorkloadManager.main(WorkloadManager.java:186)
> >
> >I tried to install an ErrorHandler so that I could possibly detect this
> >situation and
> >install a backup Appender, but it appears that SocketAppender is ignoring
> >the ErrorHandler
> >I installed.
>
> Correct, the SocketAppender is ignoring the error handler you installed.
> This is an omission that can be considered as a bug.
>
>
> >Mike Norman
>
> --
> Ceki
>
>
> --
> To unsubscribe, e-mail:
<ma...@jakarta.apache.org>
> For additional commands, e-mail:
<ma...@jakarta.apache.org>
>


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: SocketAppender ignoring ErrorHandler?

Posted by Ceki Gülcü <ce...@qos.ch>.
At 13:19 13.07.2002 -0400, you wrote:
>I've been playing around with a simple configuration of a program sending 
>its logging info
>to a central JVM and it appears that SocketAppender does what I want.
>
>However, if the central JVM is not running, the SocketAppender gives the 
>following msg:
>
>log4j:ERROR Could not connect to remote log4j server at [localhost]. We 
>will try again later.
>java.net.ConnectException: Connection refused: connect
>  at java.net.PlainSocketImpl.socketConnect(Native Method)
>  at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:295)
>  at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:161)
>  at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:148)
>  at java.net.Socket.connect(Socket.java:425)
>  at java.net.Socket.connect(Socket.java:375)
>  at java.net.Socket.<init>(Socket.java:290)
>  at java.net.Socket.<init>(Socket.java:146)
>  at org.apache.log4j.net.SocketAppender.connect(SocketAppender.java:195)
>  at org.apache.log4j.net.SocketAppender.<init>(SocketAppender.java:145)
>  at benchmark.WorkloadConfiguration.run(WorkloadConfiguration.java:68)
>  at benchmark.WorkloadManager.main(WorkloadManager.java:186)
>
>I tried to install an ErrorHandler so that I could possibly detect this 
>situation and
>install a backup Appender, but it appears that SocketAppender is ignoring 
>the ErrorHandler
>I installed.

Correct, the SocketAppender is ignoring the error handler you installed. 
This is an omission that can be considered as a bug.


>Mike Norman

--
Ceki


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>