I think a potential workaround is to use a ReentrantLock instead of a synchronized block in OutputStreamAppender (line 217). A ReentrantLock offers API through the Lock interface which can be used to implement timeouts when trying to get a lock. This helps in keeping systems responsive (at the cost of loosing log messages).
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