このプロジェクトについて

# StormByte Logger StormByte Loggerは、StormByte C++スイート向けのストリーミングロガーであり、C++26とCMake 3.28以上向けに構築されています。`operator<<`によるストリーミング、重大度レベル、カスタマイズ可能なヘッダー、スレッドローカルコンポーネント、グループ、ANSIカラー、秘匿化、16進ダンプ、人間が読みやすい数値、そしてスレッドセーフな`ThreadedLog`版を備えた`Log`ファサードを提供します。 ## 主な機能 - **レベル**: `LowLevel`から`Fatal`まで順序付けられています。`Warning`、`Error`、`Fatal`は常に出力されます。 - **ヘッダー**: `%L`(レベル)、`%T`(タイムスタンプ)、`%i`(スレッドID)、`%c`(コンポーネントパス)、`%g`(グループ)などのトークンをフォーマットします。 - **コンポーネント**: 階層パス用のスレッドローカルスタック(例: `Multimedia/Decoder`)。 - **スコープ**: TLSスタック操作を避けるライブラリ向けのスティッキーパスファサード。 - **グループ**: 改行によってクリアされる行スコープのラベル。 - **カラー**: レベルまたはコンポーネントパスごとのANSIカラー。デフォルトでは無効です。 - **フォーマット**: 永続的な一般/コンポーネントフォーマットに加え、ネストされた一時フォーマット。 - **秘匿化**: 先頭/末尾のN文字を保持、または全体をマスクします。 - **16進/バイナリ**: テキスト16進ダンプ、およびバイナリペイロード用のBase64/HexDump。 - **ThreadedLog**: 論理行ごとに1つのロック。エンコードはロック前に行われます。 ## 使用例 ```cpp #include <StormByte/logger/log.hxx> #include <StormByte/logger/threaded_log.hxx> using namespace StormByte::Logger; Log log(std::cout, Level::Info, "[%L] %T"); log << Level::Info << "hello" << std::endl; auto tlog = std::make_shared<ThreadedLog>(std::cout, Level::Debug, "[%L] %T"); tlog << Level::Notice << "opened source" << std::endl; ``` ## インストール C++26コンパイラ、CMake 3.28以上、およびStormByte-String 1.0.0以上(StormByte Base 2.0.0以上を同梱)が必要です。 ```sh git clone --recursive https://github.com/StormBytePP/StormByte-Logger.git cd StormByte-Logger cmake -S . -B build cmake --build build ``` ## ライセンス LGPL v3、または著作権者から提供される商用ライセンス。