Как вы включаете номер потока в приложение log4net, даже если у потока есть имя? - PullRequest
4 голосов
/ 05 марта 2012

В ConversionPattern в конфигурации log4net есть способ указать номер потока, даже если он имеет имя?

например. что-то вроде следующего: [7] ThreadFoo

Ответы [ 2 ]

3 голосов
/ 05 марта 2012

Не похоже, что это поддерживается.

На основании документации класса PatternLayout со списком всех параметров вывода здесь переменная %thread, кажется, оборачивает поведение, которое вы хотите изменить.

Выможет рассмотреть возможность использования идентификатора процесса вместо?В зависимости от вашей конечной цели.

Посмотрите на этот SO Ответ , он будет выглядеть следующим образом:

log4net.GlobalContext.Properties["pid"] = Process.GetCurrentProcess().Id;

и использование конфигурации

<layout type="log4net.Layout.PatternLayout">
     <conversionPattern value="%property{pid}" />
</layout>
0 голосов
/ 29 марта 2016

Вы можете добавить идентификатор потока к имени потока:

Thread myThreadObj = new Thread(...);
myThreadObj.Name = "The thread name " + myThreadObj.ManagedThreadId;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...