Я оцениваю log4cplus для многопоточного приложения C ++ на Linux. TTCCLayout и PatternLayout позволяют отображать имя потока. В моих тестах никогда не было имени, а просто бессмысленное число. Я не использую класс потока log4cplus. Как log4cplus определяет имя этого потока и возможно ли установить его самостоятельно?
Log4cplus (начиная с версии 1.1.1 или более ранней) не имеет PatternLayout форматер для имен потоков. Он имеет только два потока форматирования:
%t
— печатает идентификатор потока; для * nix это любое значение pthread_t
представляет, как правило, int
значение или значение указателя
%T
— печатает альтернативный идентификатор потока; для Linux печатает значение
вернулся syscall (SYS_gettid)
Определенно, есть место для улучшения.
Других решений пока нет …