These should be using {}-style formatting specifiers instead of printf style. While we're at it, std::move the std::string instances where applicable to potentially avoid reallocations.