Why not turn the macro into function ?
like:
template <typename ... Ts>
void LOG_MSG(int priority, const std::string& message, Ts&&...ts)
{
if (priority > PriorityLevel)
printf(message.c_str(), std::forward<Ts>(ts)...);
// Or more appropriate stuff
}