問題タブ [log4cxx]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
755 参照

c++ - クリティカル セクションなしで使用すると Log4cxx が遅くなる

log4cxx でパフォーマンス テストを行っています。LOG4CXX_XXXXX を直接呼び出すと、次のコードですべてのログの記録が完了するまでに約 10 秒かかります。しかし、呼び出しを boost::lockguard (重要なセクションだと思います) で囲むと、約 5 秒かかります。誰かがなぜそうであり、その逆ではないのか説明できますか.

次の構成を使用しています。org.apache.log4j.AsyncAppender の有無にかかわらず実行しても違いはありません

0 投票する
2 に答える
699 参照

c++ - ローカル静的ポインター変数はスレッドセーフではありませんか?

私のサーバーモジュールでは、log4cxx ライブラリがクラッシュすることがありました。

その理由は ...

static LevelPtr は null ptr を返します。

次のコードをテストしました。

本当にスレッドセーフではありませんが、 get_p() が別の割り当てられたアドレスではなく null ポインターを返す理由に興味があります。

new() 操作中に値が 0 に設定されたためですか?

0 投票する
1 に答える
557 参照

c++ - Log4cxx ログ ステートメントのハング

スタンドアロンの VC++ アプリケーションがあり、log4cxx0.10.0 バージョンを使用してログを追加しました。アプリケーションは (時間のかかる操作のために) スレッドを開始し、しきい値の時間を超える場合、メイン スレッドは TerminateThread メソッドを使用してスレッドを強制終了します。子スレッド関数には、いくつかのロギング プリントもあります。Log4CXX は、5 つのバックアップ コピーの 1 MB サイズのローリング ファイル アペンダーで構成されています。ロギングは、ほとんどのシナリオで正常に機能しています。ただし、一部のシナリオでは、子スレッドを強制終了した後にメイン スレッドのロギング関数呼び出しがハングするため、アプリケーション全体がハング状態になります。アプリケーションの後続のインスタンスもハングします。アプリケーションの完全なクラッシュ ダンプを取得し、WinDbg を使用して分析しました。

これがアプリケーションのコールスタックです

後続のアプリケーションは、次のようにインスタンスのファイルとコール スタックをロックするためにハングします。

関数「決定」を確認しましたが、ロックとは関係ありません。定数値を返すだけです.LOG4CXXはスレッドセーフであることを読みました。この問題は頻繁には発生しないため、一貫した方法で再現する手順がありませんでした。

子スレッドを強制終了するときに対処する必要があることはありますか??

0 投票する
1 に答える
178 参照

c++ - log4cxx は、毎日のログを含むログ ファイルを設定します

私は自分のC++プロジェクトにlog4cxxを使用し、ログ構成にプロパティを使用しています。これが私の状況です。

それに到達する方法はありますか?

0 投票する
1 に答える
58 参照

c++ - unixodbc を使用した log4cxx のビルド

unixodbc を使用して log4cxx をビルドしようとしましたが (コンソールを使用してデータベースに接続できます)、log4cxx --with-ODBC をビルドしようとすると、./configure は常に configure: error: unixODBC not found になります!

LD_LIBRARY_PATH を unixODBC の場所に設定しようとしました。ヒントはありますか?

ありがとう。