ページ内ナビ
概要
spdlogはC++向けの高速logging libraryです。header-onlyでもcompiled libraryでも利用でき、console/file/syslog等のsink、async logging、runtime/compile-time level、fmtベースのformattingを一つのAPIで扱えます。
特徴と向いている用途
公式資料に基づく紹介・実機未検証 · 内容確認日:
主な特徴
header-onlyとcompiled libraryの両方で導入する
READMEはinclude directoryだけを使うheader-only方式と、CMakeでlibraryをbuildするcompiled方式を案内しています。compiled版はcompile timeを短くしたいprojectで推奨されています。
console・rotating/daily file・syslog等のsinkを選ぶ
color console、basic/rotating/daily file、syslog、Windows event log、Qt widgetなど複数の出力先があり、custom sinkも追加できます。
出典:[1]
async logging・level filtering・backtraceを組み合わせる
optional async mode、runtime/compile-time log level、environment/argvからのlevel設定、ring bufferへdebug messageを保持して必要時にdumpするbacktraceを提供します。
出典:[1]
向いている用途
C++ applicationのloggingを軽量なlibraryで統一したい場合に向く
server、desktop、embedded寄りのC++ codeで、formattingと複数sinkを同じlogging APIへ集約しつつheader-only/compiledの選択肢を持ちたいprojectに適します。
出典:[1]
導入前の確認
defaultはC++11、std::format利用時はC++20が必要
CMake設定では通常C++11を要求し、SPDLOG_USE_STD_FORMATを有効にする場合はC++20を要求します。toolchainのstandard設定とformat backendを合わせてください。
出典:[3]
参考にした公式資料
- [1]spdlog v1.17.0 README(2026-10-04)
- [2]spdlog v1.17.0 release(2026-10-04)
- [3]spdlog v1.17.0 CMake configuration(2026-10-04)
- [4]spdlog MIT license(2026-10-04)
編集部からの補足
GitHub APIのlicense判定はNOASSERTIONですが、repositoryのLICENSEはspdlogをMIT Licenseと明記しています。bundled fmtもMITで、v1.17.0では12.1.0へ更新されています。
3ステップで試す
- 1
spdlog v1.17.0を取得する
確認済みstable releaseへ固定してsourceを取得します。
git clone --depth 1 --branch v1.17.0 https://github.com/gabime/spdlog.git spdlog-1.17 - 2
compiled libraryをCMakeでbuildする
READMEが推奨するcompiled modeを最小構成でbuildします。
cmake -S spdlog-1.17 -B spdlog-1.17/build -DSPDLOG_BUILD_EXAMPLE=OFF -DSPDLOG_BUILD_TESTS=OFF && cmake --build spdlog-1.17/build -j2 - 3
header-onlyの最小logging sampleをcompileして実行する
system installを行わず、include treeだけでC++11 sampleが動くことを確認します。
printf '#include <spdlog/spdlog.h>\nint main(){ spdlog::info("spdlog {}", 17); }\n' > spdlog-demo.cpp && c++ -std=c++11 -Ispdlog-1.17/include spdlog-demo.cpp -pthread -o spdlog-demo && ./spdlog-demo
成長
成長の推移 · 直近30日
29,652 Stars
推移データを蓄積中です。
開発アクティビティ
直近90日・週次
- Commit(直近30日)
- 12
- Open PR
- 14
開発アクティビティを蓄積中です。
Built with
カテゴリとタグ
カテゴリ
GitHubデータ
関連情報
関連記事を投稿するこのOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- Arduino-ESP3217,463 Stars
共通タグ 1件 · 共通カテゴリ 1件 · 同じ言語
ESP32 family向けにArduino API・libraries・board definitions・toolchain integrationを提供するofficial Arduino core
C++ - Assimp13,242 Stars
共通タグ 1件 · 共通カテゴリ 1件 · 同じ言語
40種類超の3D形式を共通データ構造へ読み込み、変換・後処理をasset pipelineへ組み込む
C++ - Google Benchmark10,449 Stars
共通タグ 1件 · 共通カテゴリ 1件 · 同じ言語
unit test風のC++ APIでmicrobenchmarkを登録しtime・iteration・counter・statisticsを測定する
C++ - BoringSSL2,280 Stars
共通タグ 1件 · 共通カテゴリ 1件 · 同じ言語
Chrome・Android等で使われるGoogle向けOpenSSL forkのTLS・cryptography library
C++ - Adaptive AUTOSAR Simulator496 Stars
共通タグ 1件 · 共通カテゴリ 1件 · 同じ言語
AUTOSAR AdaptiveのinterfaceをLinux上のC++ codeで追う教育用simulator
C++ - ArduinoCore-API307 Stars
共通タグ 1件 · 共通カテゴリ 1件 · 同じ言語
Arduino core共通のhardware-independent API contractと実装を集約するC++ layer
C++
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。