%logger {x}構文を使用してロガーの名前を短縮できます。ここで、xは短縮手順を制御します。同じようにスレッドの名前を短くする方法はありますか?
質問する
11717 次
5 に答える
31
[%.7thread]
これにより、スレッド名の最後の7文字が出力されます。
多くの場合、スレッド名の末尾の文字は、スレッド名の先頭の文字よりも興味深いものです。:-)
ログバックドキュメントで最大フィールド幅修飾子について読むことができます。
于 2013-03-20T03:17:54.723 に答える
6
次を使用できます。
[%.-10t]
この式は、スレッド名の最初の10文字を出力します。
于 2011-08-30T10:14:51.803 に答える
3
最後の7文字とスペースを含む右パッドを印刷するには:
[%-7.7thread]
出力:
14:22:43.097 [main ] DEBUG
14:22:43.341 [main ] INFO
14:22:43.341 [main ] INFO
14:22:45.399 [-target] INFO
于 2018-08-16T12:25:43.233 に答える
1
{x}
の構文に相当するものはないと思いますが、スレッド名の最初の5文字だけを印刷%thread
するようなものを使用できますが、短縮バージョンではなく5文字だけを印刷できます(もちろん、必要に応じて数を調整してください) %.-5thread
。
于 2011-08-30T10:09:29.230 に答える
1
あなたのスレッドの冒頭でこれはどうですか?
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
于 2017-06-07T10:31:19.427 に答える