logging-log4j-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Marc Carrion" <mcarr...@opfactory.com>
Subject RE: problems using SocketAppender and AsyncAppender
Date Thu, 17 Jan 2002 17:58:06 GMT
  Thanks, at least I know I'm not the only one with problems :)

  I'm not using directly a GUI, I'm using logfactor5 and chainsaw as
clients, but the problem is that they use the console to write
errors, so, if you block the console, the application gets block.

  I thought about using the AsyncAppender in a different Thread but
it really doesn't help.

  Finally we are using a JMS Server with the JMSAppender and
everything works fine.


---- Original Message ----
De: MStolyarov@Novarra.com
Para: log4j-user@jakarta.apache.org, 
Asunto: RE: problems using SocketAppender and AsyncAppender
Fecha: Thu, 17 Jan 2002 10:08:36 -0600

>Well Marc, you hit a bulleye. I also experienced the same problem 
>with my
>log client implementation and observed everything that you observed. 
>In our
>implementation, we were redirecting all received events on the 
>client to the
>JTextPane component and a file; we had two appenders set up on the
>SocketServer, such as FileAppender and TextPaneAppender. Initially, 
>when the
>load on the log client was small, everything was great but then when 
>performed some stress testing and we started to generate event 
>messages 1
>every second we noticed that after 10-15 minutes our client would 
>block and
>then our server would block, practicaly bringing everything to a 
>still. Thinking alone the same lines as you did, I started to use
>AsyncAppender, but the problem did not go away. So, I started 
>testing the
>client for problems, such as the fileAppender and the 
>TextPaneAppender. What
>I discovered was that when I would turn off logging using
>TextPaneAppender(no messages were send to GUI) everything would work 
>just with a single FileAppender working. On the other hand, if I 
>would turn
>the logging on to the JTextPane or just TextPane using 
>TextPaneAppender, the
>log client would block. What happens is that JTextArea or TextArea 
>of swing or awt can't handle all the message that are being 
>generated for
>them, luck of buffer size or something else, and block, therefore 
>everything else to block. What you need to do, I did not get a 
>chance to do
>it myself yet is to create a separate thread for handling all 
>received log
>events which would first log all events to a growable queue and then
>redirect them from the queue to your GUI component. I think this 
>work, but AsyncAppender will definitely not help you, because the 
>size of
>the buffer it has is very small and not configurable and not 
>growable. Well, that's all I have. May be this will help you. I 
>tried to
>write to Ceki about this but I got no response back. Goodluck. What 
>component are you using?
>Max Stolyarov
>-----Original Message-----
>From: Marc Carrion [mailto:mcarrion@opfactory.com]
>Sent: Thursday, January 17, 2002 6:06 AM
>To: log4j-user@jakarta.apache.org
>Subject: RE: problems using SocketAppender and AsyncAppender
>  Any help on that?
>  Thanks,
>         Marc
>---- Original Message ----
>De: mcarrion@opfactory.com
>Para: log4j-user@jakarta.apache.org, 
>Asunto: RE: problems using SocketAppender and AsyncAppender
>Fecha: Tue, 15 Jan 2002 11:23:57 +0100
>>  Hello, we are using log4j in our application (configuring some
>>socket appenders) and recently we had problems when one of the
>>clients(chainsaw, logfactor5, ...) listening for logs hangs, the
>>application blocks waiting for I/O. 
>>  We found that the problem occurs because the client is blocked for
>>I/O and then the socket blocks too, and due to, the main thread too.
>>  Finally we decided to use the AsyncAppender, it should work
>>asynchronous, it would use another thread to write so the main 
>>will never become blocked. But, if one of the SocketAppenders
>>referenced in the AsyncAppender hangs, then it never write and the
>>queue of events become full, so, the AsyncAppender blocks, and
>>consecuently the main thread blocks waiting for I/O.
>>  So, the AsyncAppender doesn't works asynchronous, it waits 
>>until the queue has more space.
>>  Do anybody had the same problem? How did you solve it? Is it a
>>known bug? Will it be solved?
>>  Thanks,
>>         Fernando & Marc
>>To unsubscribe, e-mail:   
>>For additional commands, e-mail: 
>To unsubscribe, e-mail:   
>For additional commands, e-mail: 
>To unsubscribe, e-mail:   
>For additional commands, e-mail: 

To unsubscribe, e-mail:   <mailto:log4j-user-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:log4j-user-help@jakarta.apache.org>

View raw message