Boost.Logロギングライブラリの使用を開始することを検討しています。誰かがBoost.Logを使用していますか?この点に関するあなたの経験を共有してください。
私が検討している他のライブラリは、Apache log4cxx(インストールするのは面倒なようですが、私のチームメイトは簡単なものから始めたいです)とPantheios(追加のフロントエンドとバックエンドで動作するため同じ問題)です。
Boost.Logロギングライブラリの使用を開始することを検討しています。誰かがBoost.Logを使用していますか?この点に関するあなたの経験を共有してください。
私が検討している他のライブラリは、Apache log4cxx(インストールするのは面倒なようですが、私のチームメイトは簡単なものから始めたいです)とPantheios(追加のフロントエンドとバックエンドで動作するため同じ問題)です。
回答:
更新:これは、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つはメジャー)を修正しました:-)
更新:私はBoost.Logをゲームエンジンシステムに使用していますが、非常に満足しています。高速でスレッドセーフであり、必要なときに非常に柔軟です。
Boost.Logは、今年の次のリリース(2013)ですべてのBoostライブラリに提供される予定です。
Boost.Logは、ログシステムをセットアップするために作成されます。ドキュメンテーションを読むと、それが非常に柔軟であるので、遠く離れたコンピュータでのロギングのように、それを超えて考えられるロギングシステムを構築できることがわかります。
したがって、単純なプロジェクトで使いやすいマクロがありますが、それは、ロギングを本当に理解していて、アプリケーションの特定のアーキテクチャーを構築したい人に主に役立つ種類のライブラリだと思います。
パフォーマンスについては、他の(柔軟性が低い)ロギングライブラリと比較して提出が遅いという問題があったことを覚えていますが、それはドラフトであり、最初のリリースはまだリリースされていないため、コーディングしていない場合は気にしませんタイムクリティカルなアプリケーション。
結局のところ、「今」という評価を受けるには、「あまりにも新しい」というだけのことだと思います。これほど柔軟なロギングライブラリは他にありません。多くの人がそれを使用する必要性を感じるかどうかはわかりません。
更新:Boost.Log作成者との最近のメール交換により、Boost.Logが高速ロギングの優れた代替手段であることを示唆するいくつかのデータが得られました。
最近、自分が始めていたプロジェクトにロギングシステムを実装することを検討しました。
あなたが言うように私はlog4cxxを試しました、インストールすることは確かに非常に退屈です。VS2012で(他の依存ライブラリを使用して)コンパイルするのに数時間かかり、プロジェクトで使用するとクラッシュしました。確かに、標準ライブラリの不一致で起こっているいくつかの奇妙なものは、それを理解することができませんでした。
それで、log4cppに切り替え、数分で起動して実行しました。エレガントで軽量、必要なものだけを見つけました。有名なlog4j&coと同じ機能を持つという大きな利点があります。あなたのチームワークにとって真のプラスになるかもしれないロギングシステム(設定ファイルによる設定など)
パフォーマンスに関する限り、メッセージのレベルに対してロガーがアクティブであるかどうかを確認するには、1回の関数呼び出しが必要です。その後、実際にデータを記録するために1回の関数呼び出しが必要です。
いくつかの自家製マクロ(LINEおよびco。をメッセージに追加するため)を使用すると、log4cppは私のプロジェクトで本当に有用であることが証明されています。
残念ながら、Boost.Logを試していないのでそれについて話すことはできませんが、Boost.Logを使用しないことを選択した場合は、このフィードバックが引き続き役立つことを願っています。