Boost.Logロギングライブラリの使用経験はありますか?[閉まっている]


88

Boost.Logロギングライブラリの使用を開始することを検討しています。誰かがBoost.Logを使用していますか?この点に関するあなたの経験を共有してください。

私が検討している他のライブラリは、Apache log4cxx(インストールするのは面倒なようですが、私のチームメイトは簡単なものから始めたいです)とPantheios(追加のフロントエンドとバックエンドで動作するため同じ問題)です。


私は自分のロギングシステムを持っていますが、切り替えることを検討しています。とても興味深い質問です。
セドリックH.

21
bloost.logは非常に遅く、設定が非常に複雑で、レビュープロセスにほとんど合格していません。1.47の時点では、Boostリリースにはまだ含まれていません。今後数年以内にメインラインにならない可能性があるライブラリの1つなので、現時点ではlog4cなどがより良いオプションです。

4
実際、いくつかの修正が必要であり、現在のリリースのターゲットはこの夏であると説明されています-放棄されたライブラリにはスケジュールと作業中のリポジトリがありません。また、ユーザーが非常に非常に優れたパフォーマンスを報告したことも作成者によって報告されています。複雑さは一部の状況で役立ち、必要でない場合は、提供されている簡単なマクロを使用できます。だから、私はあなたのコメントに同意しません。
Klaim

40
StackOverflowがこのような明らかに有用な質問を「建設的ではない」ものとして閉じないようにしてほしいです。
ステファン・

6
2015年のパフォーマンスはいかがですか?たぶん2.0を使っていても大丈夫ですか?
Vincas Dargis、2015年

回答:


41

更新:これは、Boost.Logを独自のカスタムロギングに置き換えて記述されて以来、さまざまな理由ですべてのプロジェクトでBoostの依存関係をすべて削除することにしました。Boostの使用に問題がない場合は、Boim.LogがKlaimの回答から判断すると、依然として有効な選択だと思います

2010年のBoost.Logでの私の経験は次のとおりです。


Boost.Logをゲームエンジンに正常に統合できました。それについて良いことしか話せません。確かに、バージョン2が公式のBoost.Logになる実際のバージョンになるため、使用は少し早いです。

利用可能なバージョン「1.0」が維持されていないことに注意してください。更新を受信するには、不安定になる可能性のある最先端(トランク)バージョンを使用する必要があります。深刻なプロジェクトでこのバージョンを使用する場合は、このことを考慮してください。最先端のバージョンや将来の破損を恐れないなら、それを試してください。それが現在の状態にあるので、それを使うのは本当に素晴らしいです。

私は長い間、log4j / log4cxxの階層型ロギングシステムの方が優れていると思っていましたが、Boost.Logはそれ以外のことを考えさせてくれました。フィルタリングと属性は、はるかに柔軟です。

フロントエンド/バックエンドで分離されたシンクの設計により、バックエンドを簡単に追加できます。フロントエンドによって処理される同期の問題やフィルタリングについて心配する必要はありません。ライブラリには、すでに多くのバックエンド、回転ファイル、コンソール、syslog、Windowsイベントレジスタなども付属しています。

私は自分のシンクバックエンドを作成しました。1つはゲームコンソールに行き、もう1つはより深刻なイベントの通知システムに行きます。思ったより簡単で、数分で稼働しました。

最後に重要なことですが、メンテナ/開発者も本当に役に立ちます。あなたはプロジェクトフォーラムでたくさんの助けを得るでしょう。彼は今週末報告した2つのバグ(そのうちの1つはメジャー)を修正しました:-)


21

更新:私はBoost.Logをゲームエンジンシステムに使用していますが、非常に満足しています。高速でスレッドセーフであり、必要なときに非常に柔軟です。

Boost.Logは、今年の次のリリース(2013)ですべてのBoostライブラリに提供される予定です。


Boost.Logは、ログシステムをセットアップするために作成されます。ドキュメンテーションを読むと、それが非常に柔軟であるので、遠く離れたコンピュータでのロギングのように、それを超えて考えられるロギングシステムを構築できることがわかります。

したがって、単純なプロジェクトで使いやすいマクロがありますがそれは、ロギングを本当に理解していて、アプリケーションの特定のアーキテクチャーを構築したい人に主に役立つ種類のライブラリだと思います。

パフォーマンスについては、他の(柔軟性が低い)ロギングライブラリと比較して提出が遅いという問題があったことを覚えていますが、それはドラフトであり、最初のリリースはまだリリースされていないため、コーディングしていない場合は気にしませんタイムクリティカルなアプリケーション。

結局のところ、「今」という評価を受けるには、「あまりにも新しい」というだけのことだと思います。これほど柔軟なロギングライブラリは他にありません。多くの人がそれを使用する必要性を感じるかどうかはわかりません。

更新:Boost.Log作成者との最近のメール交換により、Boost.Logが高速ロギングの優れた代替手段であることを示唆するいくつかのデータが得られました。


7

最近、自分が始めていたプロジェクトにロギングシステムを実装することを検討しました。

あなたが言うように私はlog4cxxを試しました、インストールすることは確かに非常に退屈です。VS2012で(他の依存ライブラリを使用して)コンパイルするのに数時間かかり、プロジェクトで使用するとクラッシュしました。確かに、標準ライブラリの不一致で起こっているいくつかの奇妙なものは、それを理解することができませんでした。

それで、log4cppに切り替え、数分で起動して実行しました。エレガントで軽量、必要なものだけを見つけました。有名なlog4j&coと同じ機能を持つという大きな利点があります。あなたのチームワークにとって真のプラスになるかもしれないロギングシステム(設定ファイルによる設定など)

パフォーマンスに関する限り、メッセージのレベルに対してロガーがアクティブであるかどうかを確認するには、1回の関数呼び出しが必要です。その後、実際にデータを記録するために1回の関数呼び出しが必要です。

いくつかの自家製マクロ(LINEおよびco。をメッセージに追加するため)を使用すると、log4cppは私のプロジェクトで本当に有用であることが証明されています。

残念ながら、Boost.Logを試していないのでそれについて話すことはできませんが、Boost.Logを使用しないことを選択した場合は、このフィードバックが引き続き役立つことを願っています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.