it-swarm-ja.tech

C ++ロギングフレームワークの提案

次の機能を備えたC++ロギングフレームワークを探しています。

  • ログには重大度(情報、警告、エラー、重大など)があります
  • ログはモジュール名でタグ付けされます
  • フレームワークには、実際にファイルに記録するモジュールと、ログをファイルに書き込むために必要な最小の重大度を設定するUI(またはCLI)があります。
  • モジュール、重大度、モジュール名、エラー名などごとに検索できるビューアがあります
57
Warpin

UIまたはCLIからの構成について不明。私はこれらのロギングフレームワークの両方をある時点で使用しました。

https://sourceforge.net/projects/log4cplus/
https://logging.Apache.org/log4cxx/index.html

手作業で、または迅速で汚れたGUIまたはCLIアプリを使用して編集可能な構成ファイルに基づいてロギングを実行するのはそれほど難しくありません。これらを動的に調整するのは少し難しいかもしれませんが、それほど悪くはありません。

更新:

提案されたBoost.Logは現在 Boost 1.54 にあり、安定したリリースになっているようです。既にBoostを使用している場合は、それを見てみましょう。

11
Casey

ビューアはありませんが、 pantheios を試すことができます。私はもう1年近く使っていますが、とても満足しています。

5
ossandcad

Pantheios を強くお勧めします。これは完全にタイプセーフであり、かつ 非常に効率的 であるためです。適切な「フロントエンド」と「バックエンド」を選択する際に、ユーザーに少しの作業を課しますが、いったん機能するようになったら、修正して忘れることができます。

洗練されたロギング機能を提供しません-例えば。ローリングファイル-しかし、それは 設計上 です。これは、より多くの機能を備えた他のロギングライブラリと組み合わせて使用​​することを意図しているためです(ただし、パフォーマンス/型安全性は劣ります)。

4
dcw

パフォーマンスに関心がある場合は、 Pantheios を確認することをお勧めします。特に、 非常に高いパフォーマンス を持ち、他のロギングライブラリと組み合わせて使用​​できます-ロギングライブラリ(log4cxxなど)とユーザー間のタイプセーフなレイヤーとして機能しますアプリケーションコード。

3
JamieH

Pantheios はパフォーマンスの面では良い候補ですが、私の個人的な好みは P7 ライブラリです。私の内部テスト(CPU i7-4870HQ、SSD)は、P7がPantheiosよりも高速であることを示しています。

  • Pantheiosは1秒あたり1.8Mログ行を書き込みます(時間とテキストメッセージ)
  • P7は1秒あたり2.4Mログ行(時間、スレッド、CPUコア、関数、ファイル、行、およびテキストメッセージ)を書き込みます
1
Igor

wxWidgets を使用して、ロギングに優れた class を使用できます。それはかなり簡単で簡単です。たとえば、すべてのログ(wxLogError、wxLogMessage、wxLogDebugなど)を収集するダイアログを作成できます。

1
nhaa123