I don't really use "3d party logging tools" - Java I use SL4j and Log4j (that's pretty much the standard for Java apps these days), I often configure log4j to forward a copy of all logs to rabbitMQ - a special app then consumes all applications' logs from RabbitMQ and either write it to standard out or to a database in such a way that I can query the logs. Further I make sure to pipe all logs to the front so that Docker can pick them up; when using Container Engine on Google Cloud, Google's Monitoring then picks up these logs. Logs via RabbitMQ is the most flexible, it means zero lock-in and I can design my own alerts and UI for viewing and filtering logs.