Проект начинается с логгера
Хотя... некоторые проекты логгером и заканчиваются :-)Обычно начинающие кодеры полагают, что логгер не нужен. Ведь приложение можно погонять под отладчиком.
Ну что сказать, отладчик вешь хорошая, пока не придется отлаживать многопоточные приложения с проблемами временнОй синхронизации. Или ставить приложения на платформу, где отладка затруднена. Или получать от заказчика невнятное: "У вас не работает", вместо лога с регулируемой детализацией.
Есть еще одно заблуждение, что достаточно понатыкать в код что-то подобное:
std::out << "message"; OutputDebugStr("message");
Почему это не катит? Потому что логгер это не только простой вывод сообщений куда-то, логгер должен решать множество задач.
Какие задачи решает логгер:
- Фильтрация (какие сообщения показывать, а какие блокировать)
- Форматирование (текстовое представления разнотипных данных)
- Атрибутирование (добавление в лог маркеров, упрощающих анализ)
- Буфферизация (накапливание фрагментов сообщения в для ускорения работы)
- Вывод.