Split out first commit from #12954 to reduce amount of rebasing necessary.
This introduces a cyclic dependency between logging and util that should be cleaned up in a future PR.
utACK b77b6e23457dcbf160a3d586eca9df7a8d0bb351 (Lines are kept in the same order, which makes it easier to verify moveonly-ness)
utACK b77b6e2 also confirmed that the lines are repeated faithfully
utACK b77b6e23457dcbf160a3d586eca9df7a8d0bb351
Comparison with git diff HEAD^ --color-moved=zebra looks good. The cyclic dependency is logging.cpp to util.h to logging.h and there's a plan for breaking that cycle in #12954. Agree that this would be good to merge soon, since it's essentially a blocker for anything touching logging code.
utACK b77b6e23457dcbf160a3d586eca9df7a8d0bb351. Verified move-only.