2016-09-23 9 views
0

私はjetty 8.1を私のアプリに埋め込んで使用しています。私はQueuedThreadPoolを使用し、ServletContextHandlerのセットを持つHandlerCollectionを持っています。私の問題は、私のログに表示されるプールの名前を設定しても、[myPrefixName - 1233/theFullEndpoint/xxx/yyyのような]スレッド名が各要求ごとに異なることです。Jetty 8 QueuedThreadPoolスレッド名

私は希望していますスレッド名の中にパラメータを持つ完全なエンドポイントが存在しないようにします。私はログバック設定を試しましたが、私が知る限り、ログバックは最初のスレッド名ではなくスレッド名の最後のx文字だけを表示することができます。 スレッド名からエンドポイント名を削除するようにjettyに指示するにはどうすればよいですか?

+0

Jetty 8はEOL(EOL)終了です。アップグレードを検討してください。 –

答えて

0

あなたはorg.eclipse.jetty.server.handler.DebugHandlerを有効にしてアクティブにして、それを無効にしたり削除したりすると、スレッドの名前が通常に戻ります。

+0

これはデフォルトで有効になっていますか?私はちょうどDefaultHandlerを追加しましたが、このDebugHandlerを追加したことはありません。 – Raffaele

+0

Jetty 8はEOLです。デフォルトは/ nowです。実際に答えを知るには、ソースアーカイブを掘り下げる必要があります。何かがアクティブな 'Thread.setName()'を設定しています。伝統的に、 'DebugHandler'だけがこれを行いました。 * Note:JettyプロジェクトはJetty 8.1.xを超えて数千以上のコミットを抱えています(現時点では4つのメジャーバージョンがリリースされており、現在2つがアクティブな開発中です)。* –

+0

ソースコードを見て、AbstractHttpConnectionロガーが「デバッグ」するように設定されている場合に限ります。最も簡単な解決策は、デバッグレベルでログに記録することではありません。それ以外の場合は、AbstractHttpConnectionの動作をオーバーライドするか、独自のLogger実装を書き込むことができます(isDebugEnabledメソッドの使用場所を確認する必要があります)。あなたの提案をありがとう。私はアップグレードしたいですが、現時点では、私は顧客の制限のためにできません.. – Raffaele

関連する問題