0

Linux でマルチスレッド C++ アプリケーションの log4cplus を評価しています。TTCCLayout と PatternLayout を使用すると、スレッド名を表示できます。私のテストでは、名前はなく、意味のない数字だけでした。log4cplus のスレッド クラスは使用していません。log4cplus はこのスレッド名をどのように決定し、自分で設定することは可能ですか?

4

1 に答える 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 に答える