A Java GELF client library with support for different transports.
All default transport implementations use a queue to send messages in a background thread to avoid blocking the calling thread until a message has been sent. That means that the
trySend() methods do not actually send the messages but add them to a queue where the background thread will pick them up. This is important to keep in mind when it comes to message delivery guarantees.