Метка: логирование

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

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

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

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

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

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

Асинхронное логирование в C++ — не серебряная пуля

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