Библиотека C++11 только из заголовочных файлов для предоставления типов и функций C++ в Python, прежде всего для создания Python-привязок к существующему коду на C++.
gabime/spdlog
Быстрая библиотека логирования для C++ с форматированным выводом, асинхронным режимом и разными приемниками, включая ротируемые файлы, консоль и syslog.
- Звёзды
- 29,703
- Форки
- 5,341
- Открытые issues
- 58
- Последний коммит
- 18 часов назад
Что это?
spdlog — библиотека логирования для C++, с помощью которой приложения могут записывать форматированные сообщения в разные места назначения. Ее можно использовать как header-only библиотеку или собрать с помощью CMake; для форматирования сообщений она использует библиотеку fmt.
Логгеры могут записывать сообщения в ротируемые и ежедневные файлы, выводить их в цветную консоль, syslog, журнал событий Windows, отладчик Windows и виджеты Qt. Уровни логирования можно менять во время выполнения или при компиляции, а также загружать из аргументов командной строки или переменных окружения. В необязательном асинхронном режиме вывод выполняется в пуле фоновых потоков, а буфер backtrace сохраняет недавние отладочные сообщения, чтобы их можно было вывести при возникновении ошибки.
Библиотека поддерживает Linux, варианты BSD, Solaris, AIX, Windows, macOS и Android и доступна во многих распространенных менеджерах пакетов.
Ключевые возможности
- 01Использование в виде header-only библиотеки или сборка с помощью CMake
- 02Форматированные сообщения на основе fmt, в том числе с пользовательскими шаблонами и типами
- 03Приемники для ротируемых и ежедневных файлов, консоли, syslog и журнала событий Windows
- 04Асинхронное логирование с пулом фоновых потоков
- 05Управление уровнем логирования во время выполнения и при компиляции; загрузка настроек из переменных окружения или argv
- 06Буфер backtrace для вывода недавних отладочных сообщений по запросу
Сценарии использования
- Добавление структурированного логирования с уровнями в серверное или настольное приложение на C++
- Запись логов в ротируемые файлы в долго работающих сервисах
- Обработка большого потока логов асинхронным логгером, чтобы снизить нагрузку на потоки обработки запросов
- Перенаправление логов в syslog или журнал событий Windows в системных службах
Быстрый старт
- 1
Клонируйте репозиторий
git clone https://github.com/gabime/spdlog.git - 2
Перейдите в каталог и создайте папку для сборки
cd spdlog && mkdir build && cd build - 3
Настройте и соберите проект с помощью CMake
cmake .. && cmake --build .
Что важно знать
- В метаданных лицензия указана неясно, поэтому перед использованием проверьте файл лицензии в репозитории.
В подборках
Темы
Частые вопросы
- Что такое spdlog?
- Быстрая библиотека логирования для C++ с форматированным выводом, асинхронным режимом и разными приемниками, включая ротируемые файлы, консоль и syslog. spdlog — библиотека логирования для C++, с помощью которой приложения могут записывать форматированные сообщения в разные места назначения. Ее можно использовать как header-only библиотеку или собрать с помощью CMake; для форматирования сообщений она использует библиотеку fmt.
- spdlog можно использовать бесплатно? Какая у него лицензия?
- spdlog распространяется с открытым исходным кодом под лицензией Other. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- spdlog всё ещё поддерживается?
- Активно поддерживается. Последний коммит в spdlog — 24 окт. 2026 г..
- Для чего можно использовать spdlog?
- Добавление структурированного логирования с уровнями в серверное или настольное приложение на C++ Запись логов в ротируемые файлы в долго работающих сервисах Обработка большого потока логов асинхронным логгером, чтобы снизить нагрузку на потоки обработки запросов Перенаправление логов в syslog или журнал событий Windows в системных службах
- Как установить spdlog?
- Клонируйте репозиторий: git clone https://github.com/gabime/spdlog.git Перейдите в каталог и создайте папку для сборки: cd spdlog && mkdir build && cd build Настройте и соберите проект с помощью CMake: cmake .. && cmake --build .
- Где скачать spdlog?
- Исходный код и инструкции по установке — на GitHub: https://github.com/gabime/spdlog
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Однофайловая библиотека на C++11 для создания HTTP/HTTPS-серверов и клиентов с блокирующим вводом-выводом через сокеты.
Header-only библиотека C++ для быстрого и точного разбора строк в float, double и целые числа; drop-in-реализация from_chars.
Асинхронная библиотека логирования и метрик на C++17 с минимальными задержками: форматирование и ввод-вывод выполняются в фоновом потоке.
Библиотека C++11, состоящая из одного заголовочного файла и позволяющая разбирать, создавать, изменять и сериализовать JSON с синтаксисом в духе STL.
Бесплатный менеджер пакетов C/C++ с открытым исходным кодом от Microsoft для установки и сборки библиотек в Windows, macOS и Linux.