Linux でマルチスレッド C++ アプリケーションの log4cplus を評価しています。TTCCLayout と PatternLayout を使用すると、スレッド名を表示できます。私のテストでは、名前はなく、意味のない数字だけでした。log4cplus のスレッド クラスは使用していません。log4cplus はこのスレッド名をどのように決定し、自分で設定することは可能ですか?
1 に答える
2
Log4cplus (バージョン 1.1.1 以前) には、スレッド名のPatternLayoutフォーマッターがありません。スレッド関連のフォーマッターは 2 つしかありません。
%t
- スレッド ID を出力します。*nixの場合、値がpthread_t
表すものは何でも、通常はint
値またはポインター値です%T
- 代替スレッド ID を出力します。Linux の場合、返された値を出力します。syscall (SYS_gettid)
間違いなく改善の余地があります。
于 2013-05-14T11:34:35.117 に答える