Метка: logme

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

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

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

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

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

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

Сколько стоит LOG_INFO(): benchmark библиотек логирования C++

Сколько стоит логирование, которое есть практически в каждом C++ проекте? Почти любой сервис, демон или библиотека рано или поздно обрастает строками вроде LOG_INFO(...) или logger.debug(...). Чаще всего библиотека выбирается по привычке или популярности — spdlog, quill, easylogging++ и т.п. При этом редко кто проверяет, какую цену приложение платит за логирование. В высоконагруженных системах логирование может выполняться: миллионы раз