Priority: Major - P3
Affects Version/s: None
Fix Version/s: None
The boost::log library was initially selected as a backend for the logv2 implementation because the early design for that project included the ability to log as either text or JSON, and the pluggable formatter support in boost::log was appealing, Subsequent design changes dropped that requirement, and we only log in JSON now, so we aren't actually using the pluggable formatter support.
This wouldn't matter at all, except that we had to make local changes to boost::log in order for it to work correctly for us, see
These local boost changes represent an ongoing maintenance burden when we need to upgrade boost, in tickets like
SERVER-44079. Furthermore, it means that users who build the product from source and use the --use-system-boost option (and people actually do this) will get a logging system with different behavior.
Since we no longer need the full functionality of boost::log to implement our logging support, we should replace our usage of it with something else.