このプロジェクトについて
# 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、または著作権者から提供される商用ライセンス。
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.