When you are trying to understand what's going on on your app, you need to be focused on your logs. But when you are dealing with database, or java app, many of ours are faced up to multiline errors, queries or events. You can loose a couple of hours just trying to rebuild each event.
Dealing with multiline can be relativly simple with a unique file, but it's more touchy when your stack aggregate all events to a unique place like a DB, a syslog server or in Elasticsearch.
The best solution is still modifying your formatter directly from your code and log all events in a single line or a single Json object.