52-Line Logging System
Macros
Most of your code is in a macro. This makes it harder to write, read and debug.
Why not place the logic in normal functions and only use macros to pass __FILE__ and __LINE__?
That is until you can switch to C++20 which provides std::source_location
Naming
Why is the mutex called stream?