You have touched on the general Patterns (sub flows and separate flows) all for logging, error handling and capture or processing of the data into formats you want, so you are on the right track.
The only feedback I would give is when you look at logging etc., there is more to it than simply error handling, meaning when you look a business processes there is visibility, tracking and monitoring and those are all different, and can be impacted by volume and velocity, as well as package size, cross-process visibility or tracking.
Think end to end, making sure things cannot be injected more than 1 time or duplicate data patterns etc.
But purely from a logging perspective, you have the proper patterns named. I would however look holistically at your flows, how you want to build them (parent/child patterns) and that will help you, especially with very large flows capturing errors or notifications or just being able to turn on debug mode for a short while etc.
You are on the right track and happy to give more specifics when you have questions as you build them out.
Cheers
If these suggestions help resolve your issue, Please consider Marking the answer as such and also maybe a like.
Thank you!
Sincerely, Michael Gernaey