Вы можете сократить имя регистратора, используя синтаксис% logger {x}, где x контролирует процедуру сокращения. Есть ли способ сократить имя потока таким же образом?
Как сократить имя потока в журналах журнала?
Ответ 1
[%.7thread]
Здесь будут напечатаны последние 7 символов имени потока.
Обратные символы имени потока часто более интересны, чем символы в начале имени потока.: -)
Вы можете прочитать о максимальный модификатор ширины поля в документах журнала.
Ответ 2
Вы можете использовать:
[%.-10t]
Это выражение печатает первые 10 символов имени потока.
Ответ 3
Я не думаю, что существует эквивалент синтаксиса {x}
для %thread
, но вы можете использовать что-то вроде %.-5thread
для печати только первых 5 символов имени потока, но всего 5, а не сокращенную версию (очевидно, отрегулируйте число до ваших потребностей).
Ответ 4
Как насчет этого в начале вашего потока?
if (Thread.currentThread().getName().split("-").length > 1) {
String threadName = Thread.currentThread().getName();
threadName = "thread" + threadName.split("-")[3];
Thread.currentThread().setName(threadName);
}
Затем в вашем logback.xml:
[%-8thread] %msg%n
... и вы получите что-то вроде этого:
[main ] Process started
[thread1 ] Thread started
[thread2 ] Thread started
[thread1 ] Thread ended
[thread1 ] Thread started
[thread2 ] Thread ended
[thread2 ] Thread started
[thread1 ] Thread ended
[thread2 ] Thread ended
[thread3 ] Thread ended
[thread4 ] Thread ended
[thread5 ] Thread ended
[main ] Process ended