既存のC++コードにPythonバインディングを作成するための、C++の型や関数をPythonに公開するヘッダーオンリーのC++11ライブラリ。
gabime/spdlog
整形出力、非同期モード、ローテーションファイルやコンソール、syslogなど複数の出力先に対応した高速なC++ロギングライブラリ。
- スター
- 29,703
- フォーク
- 5,341
- 未解決の Issue
- 58
- 最終コミット
- 19 時間前
これは何?
spdlogは、アプリケーションからさまざまな出力先へ整形済みのログメッセージを書き込めるC++ロギングライブラリです。ヘッダーオンリーのライブラリとしても、CMakeでコンパイルしても利用でき、メッセージの整形にはfmtライブラリを使用します。
ロガーは、ローテーションファイル、日付ごとのファイル、色付きコンソール出力、syslog、Windowsイベントログ、Windowsデバッガー、Qtウィジェットにログを書き込めます。ログレベルは実行時またはコンパイル時に変更でき、コマンドライン引数や環境変数から読み込むこともできます。オプションの非同期モードでは、出力処理をバックグラウンドのスレッドプールに移します。また、バックトレースバッファに直近のデバッグメッセージを保持し、エラー発生時に出力できます。
Linux、BSD系OS、Solaris、AIX、Windows、macOS、Androidに対応しており、主要なパッケージマネージャーから入手できます。
主な機能
- 01ヘッダーオンリー、またはCMakeでコンパイルして利用可能
- 02fmtによるメッセージ整形。カスタムパターンやユーザー定義型にも対応
- 03ローテーションファイル、日付ごとのファイル、コンソール、syslog、Windowsイベントログへの出力
- 04バックグラウンドのスレッドプールを使った非同期ロギング
- 05実行時・コンパイル時のログレベル制御。環境変数やargvから読み込み可能
- 06直近のデバッグメッセージを必要に応じて出力できるバックトレースバッファ
ユースケース
- 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 とは?
- 整形出力、非同期モード、ローテーションファイルやコンソール、syslogなど複数の出力先に対応した高速なC++ロギングライブラリ。 spdlogは、アプリケーションからさまざまな出力先へ整形済みのログメッセージを書き込めるC++ロギングライブラリです。ヘッダーオンリーのライブラリとしても、CMakeでコンパイルしても利用でき、メッセージの整形にはfmtライブラリを使用します。
- spdlog は無料で使えますか?ライセンスは?
- spdlog は Other ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- spdlog は今もメンテナンスされていますか?
- 活発にメンテナンス中。spdlog の最終コミットは 2026年10月24日 です。
- 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 をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
ブロッキングソケットI/OでHTTP/HTTPSサーバーとクライアントを構築できる、C++11対応のシングルヘッダーライブラリ。
文字列から float、double、整数値を高速かつ正確に解析する、from_chars互換のヘッダーオンリーC++ライブラリ。
フォーマットとI/Oをバックグラウンドスレッドに委ねる、超低レイテンシの非同期C++17ロギング・メトリクスライブラリ。
STL風の構文でJSONの解析、構築、操作、シリアライズができる、ヘッダーオンリーのC++11ライブラリ。
Microsoftが提供する、Windows、macOS、Linuxでライブラリをインストール・ビルドできる無料のオープンソースC/C++パッケージマネージャー。