Страуструп в своей книге «С++ принципы и практика» откровенно не рекомендует использовать макроопределения из-за возможных сложностей в отладке и пр, но много лет практики на С берут свое и очень хочется сделать что-то типа
#ifndef DEBUG
#define DEBUG
printf(...);
#endif
Хотелось бы узнать как «правильно» выводить отладочную информацию без ущерба читаемости и производительности. Гуглила логгеры и нашла просто монстров на гитхабе и в каких-то обзорах. Хотелось бы услышать мнение и инструменты кто чем пользуется