Multiline grok of consecutive events of the same type with joining

That seems like a good approach provided the input file is small enough that you can handle it as a single multiline event.