2016-03-23 9 views
4

ネイティブC++コードをログする現在のロガーを、log4jの後にモデル化されたロガーの1つに置き換えたいと思います。私はLog4jビューアを使って見ることができるように、log4jフォーマットとしてフォーマットされたログをロガーが作成するつもりです。log4jベースのロガー:log4cpp対log4cplus対log4cxx

私は、それぞれの賛否両論とその違いなどの情報を探しています。

つまり、既知のメモリリークはありますか?どのようなパフォーマンステストを行っても報告できますか?考慮すべき既知の問題はありますか?

+0

これらのログフレームワークを試して、必要に応じて使用するものを決定する必要があります。言い換えれば、これはここで話題にならない意見に基づく質問です。 –

+0

アペンダサポート、マルチスレッドサポート、ライセンス取得などのマニュアルを自分で読んで調べることができないのはなぜですか? –

答えて

20

私は次のことを発見した私の最初の研究から:

Log4cxx:現在インキュベーションを受け https://logging.apache.org/log4cxx/

  • - 過去に一度は正式リリース
  • 更新/バグ修正はありません12年、最後のリリースは2008年でした
  • ユーザーは別のLogLevels - TRACE、DEBUG、INFO、WARN、ERROR、およびFATAL 012を選択できますの
  • 階層ロガー
  • 非同期
  • をログに記録することが可能であるユーザーが選択した
  • ログが
  • 異なる複数の出力ターゲットに送信することができますロガーを有効または無効にし、ユーザーに選択することができます
  • 複数のアペンダをサポートしています出力形式
  • よく文書化されています
  • は、Open Source Ini認定のオープンソースライセンスであるApache License - 最後のリリースは2017年2月
  • ユーザが別の選択を選択することができました https://sourceforge.net/projects/log4cplus/

    • 定期的な更新/バグ修正:tiative

    Log4cplus Apacheのポータブルランタイム(APR)が必要ですLogLevels - TRACE、DEBUG、INFO、WARN、ERROR、およびFATAL

  • 階層型ロガー
  • は、マルチスレッドアプリケーションをサポートしていますが、非同期信号ハンドラから使用するのに安全でない
  • ユーザ選択された出力フォーマット:
  • は複数ロガーよく
  • の下でライセンスされて文書化されていない
  • をサポート
  • SimpleLayout、PatternLayoutは、TTCCLayout Apache License V2。0

Log4cpp: https://sourceforge.net/projects/log4cpp/

  • バグ修正が年に一度程度ですが、最後のリリースは2016年8月だった
  • 明確な文書が存在しない、マルチスレッド・アプリケーションをサポートしてい
  • バージョン0.2.1のGNU Lesser General Public License(LGPL)に基づいてライセンスされています。その前に、GPL 。
+0

log4cplus - 2016-01-16はAFAIKの最新リリースです。ここを見てくださいhttps://sourceforge.net/projects/log4cplus/files/log4cplus-stable/ GitHub上の現在の開発https://github.com/log4cplus/log4cplus –

+1

私はlog4cxx(またはそうでない)を使用するための最も重要な要素は、 Apache Portable Runtime(APR)が必要であることが判明しました。これが、2008年の最終リリース(バージョン0.10.0)の理由です。他のフレームワークは今(2017年)に積極的に開発されたようです。 – Wolf

+1

@Wolf、あなたのコメントをありがとう、私はLog4cxx、Log4cplusとLog4cppの最新リリースをチェックし、それに応じて情報を更新しました。これが役に立ちましたら、+1をお願いします:) –

関連する問題