Please consider a path laid out with containers/conmon#265.
Instead of scraping logs from disk, work with CRI-O to get a byte stream (no newline interpretation) of the container output chunked through to the storage system.
Then apply what ever interpretation of the logs one wants later when consuming the data from the store. This avoids all the problems of scraping logs from disk, while efficiently working with the container subsystems to get the container output collected with the right metadata attached.
It also means we can focus on collection with proper metadata efficiently without worry for what interpretation of the container output stream will be applied later. That is, views of the log data can be considered isolated and independent from how the data is collected.