我正在为linux上的多线程C ++应用程序评估log4cplus。 TTCCLayout和PatternLayout允许显示线程名称。在我的测试中,从来没有一个名字,只是一个毫无意义的数字。我没有使用log4cplus的线程类。 log4cplus如何确定这个线程名称,是否可以自己设置?
答案 0 :(得分:2)
Log4cplus(从1.1.1版或更早版本开始)没有任何用于线程名称的PatternLayout格式化程序。它只有两个与线程相关的格式化程序:
%t
- 打印线程ID;对于* nix,它是任何值pthread_t
表示,通常是int
值或指针值
%T
- 打印替代线程ID;对于Linux,打印值
由syscall (SYS_gettid)
肯定还有一些改进空间。