Difference between multiline codec and filter?

I'm using the multiline codec in the input section and finding some issues. I just learned there is a multiline filter as well. How does it differ? In particular I have to concatenate discrete log files together as they contain one event each and the multiline codec waits for a new event pattern before releasing previous one into pipeline. It also waits indefinitely before releasing last event for new event to determine if previous event was complete. The result is the last event is never pipelined. Just wondering if filter behaves differently here.

This looks like a good write up that says do not use multiline filter