Lev Bezborodov
Company: Gazprombank
Project Reactor is not just a hype trend, but a way to build a scalable, high-stress application. MDC is a key diagnostic and monitoring tool, allowing you to easily and conveniently enrich code blocks with metadata defined elsewhere. Unfortunately, they are not fully "friendly" with each other. The official solution offered in the Project Reactor framework Readme allows you to use MDC to log your own events between reactive operators. However, this does not affect calls to third-party libraries inside the reactive operators, which can also log their own work.
An alternative implementation of MDC has been developed in the speaker's division that works fully in a reactive application, without the restriction mentioned above. Also a nice side effect of using this implementation was the removal of the restriction on the value type in MDC: now it is not only string. The details of the implementation and a brief path to it will be discussed.
Company: Gazprombank
Company: m2.ru