標準のlogging設定を単一のloggerに置き換え、ファイルのローテーション、カラー出力、構造化ログを提供するPythonロギングライブラリ。
armink/EasyLogger
リソースが限られた組み込みデバイス向けの超軽量C/C++ログライブラリ。フィルタリング、カラー出力、出力先の切り替えに対応しています。
- スター
- 4,799
- フォーク
- 1,323
- 未解決の Issue
- 82
- 最終コミット
- 昨日
これは何?
EasyLoggerは、IoT製品、ウェアラブル、スマートホームデバイスなど、リソースに制約のあるプロジェクト向けに設計されたC/C++ログライブラリです。コードサイズとRAM使用量を極力抑え、インターフェースも意図的にシンプルにすることで、log4cやzlogのような大規模なライブラリより手軽に導入できます。
ログの出力先はユーザーが定義でき、ターミナル、ファイル、データベース、シリアルポート、RS-485、フラッシュメモリなどに出力できます。各ログにはレベル、タイムスタンプ、スレッドやプロセスの情報を含められ、タグ、レベル、キーワードによるフィルタリングはコンパイル時と実行時の両方で利用できます。レベルごとに異なる色で表示でき、RAW形式とhexdump形式にも対応しています。RT-Thread、uC/OS、Linux、Windows、NuttXおよびベアメタル環境で動作し、スレッドセーフ、非同期、バッファリングの各出力モードを備えています。
フラッシュを使ったログ保存(EasyFlash経由)やファイルローテーションなどの追加機能は、プラグインとして提供されています。
主な機能
- 01ROM 1.6K未満、RAM 0.3Kという極めて小さなフットプリント。
- 02ターミナル、ファイル、フラッシュ、シリアル、データベースなど、ユーザー定義の出力先に対応。
- 03タグ、レベル、キーワードによる静的・動的フィルタリング。
- 04スレッドセーフ、非同期、バッファリングの各出力モード。
- 05レベルごとのカラー出力に加え、RAW形式とhexdump形式に対応。
- 06フラッシュへのログ保存とファイルローテーション用のプラグイン。
ユースケース
- リソースが限られたIoT機器やウェアラブルのファームウェアでのログ記録。
- RT-Threadやベアメタル環境を対象とした組み込みデバイスのデバッグ。
- ファイルシステムのないシステムで、デバイスのログをフラッシュに保存。
- 大規模なCプロジェクトへのタグベースのログフィルタリングの追加。
クイックスタート
- 1
移植する前に docs/zh の中国語ドキュメントを読んでください
- 2
docs/zh/port/kernel.md に従って、ライブラリをプロジェクトに移植してください
使う前に知っておきたいこと
- パッケージマネージャーからインストールする方法はありません。ソースコードをプロジェクトに移植する必要があります。
- 設定はグローバルなシングルトンのため、出力先ごとに複雑な設定を行うことはできません。
- 主なドキュメントと README は中国語です。
収録されている特集
トピック
よくある質問
- EasyLogger とは?
- リソースが限られた組み込みデバイス向けの超軽量C/C++ログライブラリ。フィルタリング、カラー出力、出力先の切り替えに対応しています。 EasyLoggerは、IoT製品、ウェアラブル、スマートホームデバイスなど、リソースに制約のあるプロジェクト向けに設計されたC/C++ログライブラリです。コードサイズとRAM使用量を極力抑え、インターフェースも意図的にシンプルにすることで、log4cやzlogのような大規模なライブラリより手軽に導入できます。
- EasyLogger は無料で使えますか?ライセンスは?
- EasyLogger は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- EasyLogger は今もメンテナンスされていますか?
- 活発にメンテナンス中。EasyLogger の最終コミットは 2026年11月5日 です。
- EasyLogger は何に使えますか?
- リソースが限られたIoT機器やウェアラブルのファームウェアでのログ記録。 RT-Threadやベアメタル環境を対象とした組み込みデバイスのデバッグ。 ファイルシステムのないシステムで、デバイスのログをフラッシュに保存。 大規模なCプロジェクトへのタグベースのログフィルタリングの追加。
- EasyLogger のインストール方法は?
- 移植する前に docs/zh の中国語ドキュメントを読んでください docs/zh/port/kernel.md に従って、ライブラリをプロジェクトに移植してください
- EasyLogger はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/armink/EasyLogger
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
多様なCPUアーキテクチャに対応し、リソースに制約のあるマイクロコントローラーやIoTデバイス向けに設計された、拡張性の高いリアルタイムOS(RTOS)。
組み込み開発向けのクロスプラットフォームなコマンドラインツール兼ビルドシステム。ライブラリ管理、複数のボードやフレームワーク、デバッグ、ユニットテストに対応します。
見やすいターミナル出力、フィールド優先の構造化JSON、秘密情報のマスキングに対応した、ランタイム依存ゼロのTypeScript・JavaScript向け汎用ロガー。
50以上のMCUファミリーに対応し、メモリ安全性とスレッド安全性を重視して設計された、組み込みシステム向けのクロスプラットフォームなオープンソースUSB Host/Deviceスタックです。
Deno、Node.js、Bun、ブラウザー、エッジ関数で動作する、依存関係ゼロのJavaScript/TypeScript向けロギングライブラリです。