Hello Play team,
We have microservice infrastructure with business services written on play 2.6. There are some flows that includes inter-service communication, actor based flows, java based completable futures usage, therefore we have to apply some activity id tracking for rich and explanatory logs.
In order to include activityid to ordinary logs we use MDC extension for logback which works fine in single thread environment. But since play framework is async one under the hood, we need to have some inter thread mdc propagation solution to cover the above cases.
Cinnamon looks like cool solution for that purpose. I’ve already done PoC on cinnamon and tested these cases (which ultimately should work with not-cinnamon solution):
- MDC propagation between http filter and http controller
- MDC propagation between http controller and akka actor
- MDC propagation between akka actors
- MDC propagation between http controller and async thread
Could you please point me out to right direction in this problem or suggest some tool for achieving our purpose?
Thanks a lot in advance