Repolode
gabime

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. 1

    Клонируйте репозиторий

    git clone https://github.com/gabime/spdlog.git
  2. 2

    Перейдите в каталог и создайте папку для сборки

    cd spdlog && mkdir build && cd build
  3. 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 обновляется ежедневно.

Похожие проекты