Issue Type: Bug Bug
Affects Versions: 1.1.2
Assignee: Logback dev list
Components: logback-core
Created: 21/Apr/14 1:28 PM
Description:

Problem
The AbstractSocketAppender takes events from its queue without knowing if it can actually deliver them. In case the socket connection breaks the next write operation on the OutputStream will fail with an IOException and the event will never be delivered.

Solution
Change queue consumer strategy from "take" to "peek/remove". This allows to keep the event in the queue until it's transmission was successful. This will require to move away from the SynchronousQueue (queueSize == 0) logic and use the ArrayBlockingQueue with a size of 1 to implement a "synchronous queue".

Project: logback
Priority: Major Major
Reporter: Sebastian Gröbler
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira