Категория: Логирование

Этот раздел посвящён логированию на C и C++. Мы фокусируемся на реальных задачах, а не на абстрактных схемах.

Здесь вы найдёте разбор API, подходов к форматированию, буферизации и выводу данных. Мы анализируем библиотеки логирования и сравниваем разные решения.

Мы также разбираем проблемы, которые возникают в продакшене. Например, сложность интеграции, поведение под нагрузкой и ошибки проектирования.

Логирование — это не просто вспомогательный инструмент. Это важная часть системы, которую нужно проектировать осознанно.

Профилирование функций с использованием библиотеки logme

В библиотеку logme встроена мощная поддержка профилирования функций. Профилирование функций с logme это просто. Есть возможность, просто добавив один макрос, обеспечить вывод в лог информации о входе в функцию с указанием её имени, выходе из неё, а также при необходимости — печати параметров и возвращаемого значения. Это позволяет без особых усилий понять, как и когда

Выбор библиотеки логирования C++: что важно

Что может быть проще, чем система логирования? Однако по мере роста проекта становится понятно, что выбор библиотеки логирования C++ — это не такой тривиальный вопрос, как кажется на первый взгляд. Вероятно, каждый, кто занимался программированием, так или иначе поучаствовал в её создании — хотя бы написав свою первую программу:   #include <stdio.h> int main() {

Логирование тормозит систему даже когда ничего не пишет

Сложно спорить с тем, что логирование — необходимая часть любого продукта.Без него невозможно ни нормально диагностировать ошибки, ни понять, что происходит в системе. И всё же в реальных проектах его нередко отключают в релизных сборках — именно потому, что логирование тормозит систему. Цена за это решение очевидна: система становится плохо наблюдаемой.Но причина тоже понятна —

Дизайн логгера — что действительно важно

В реальной системе дизайн логгера оценивают не по API и не по синтаксису вызова.Его оценивают в момент инцидента: когда нужно быстро понять, что сломалось, и не положить сервис дополнительной нагрузкой. Логгер — это не только про скорость вывода С одной стороны, хочется, чтобы система работала максимально быстро: любое логирование — это накладные расходы, и в