AbstractSocketAppender uses a BlockingQueue, which must be shutdown from the main thread manuallylike http://stackoverflow.com/questions/8974638/blocking-queue-and-multi-threaded-consumer-how-to-know-when-to-stop
AbstractSocketAppender uses a BlockingQueue,
which must be shutdown from the main thread manuallylike http://stackoverflow.com/questions/8974638/blocking-queue-and-multi-threaded-consumer-how-to-know-when-to-stop