2012-02-10 35 views
27

埋め込みJettyインスタンスでログレベルをDEBUGに設定しようとしています。新しい org.mortbay.jetty.Server()を呼び出す前にJetty埋め込みでDEBUGレベルのログを有効にするにはどうすればいいですか?

コールSystemProperty.set( "DEBUG"、 "真") - http://docs.codehaus.org/display/JETTY/Debugging

ドキュメントがに述べています。

SystemPropertyクラスが何であるか分かりませんが、どこにも記載されていないようです。私はSystem.setProperty()を試しましたが、そのトリックはしませんでした。私の質問はヨアキムErdfeltで桟橋メーリングリストで答えた

+0

どのバージョンのJetty?クラスパスにはどのようなロギングフレームワークがありますか? – Tim

+0

私は現時点でJetty 7.5.4を使用していますが、実際にはどのバージョンでも使用できます。ロギングの場合、私はJetty以外のコードでlog4jを使用していますが、SLF4JをJEttyでデフォルトのNOPロガー実装にしています(デバッグコンソールに書き込みます)。 – HolySamosa

答えて

24

あなたはdocs.codehaus.orgで古い桟橋6.xのドキュメントを見ています。

DEBUGロギングは、使用するロギング 実装によって決定されるロギングレベルにすぎません。

  • slf4jを使用する場合は、slf4jのドキュメントを使用してログレベルを設定します。 http://slf4j.org/manual.html

  • java.util.loggingを使用する場合は、JVMドキュメントを使用してください。 http://docs.oracle.com/javase/6/docs/technotes/guides/logging/overview.html

  • 組み込みのStdErrLogを使用する場合は、次に示すパターンがあります。 {classrefは}あなたが 、上のレベルとすべてのサブクラスREFを設定するクラスの参照である

-D {classref} .LEVEL = {レベル}

。 {レベル}がすべての値の一つであり、DEBUG、 INFOは、

例に警告: -Dorg.eclipse.jetty.LEVEL = INFO - これは、すべての桟橋パッケージ/クラスのINFOレベルのロギングを可能にします。 -Dorg.eclipse.jetty.io.LEVEL = DEBUG - これはIOクラスのDEBUGレベルのログのみを有効にします -Dorg.eclipse.jetty.servlet.LEVEL = ALL - これはすべてのロギングを有効にします(トレースイベント、内部で無視される例外等)。サーブレット パッケージ用。 -Dorg.eclipse.jetty.util.thread.QueuedThreadPool.LEVEL = ALL - 特定のクラスでのみレベルALLを有効にします。あなただけの迅速javaコマンドラインにこのような何かを追加stderrにメッセージを記録取得したい場合は

11

-Dorg.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.StdErrLog -D{classref}.LEVEL=DEBUG 
8

この

-Dorg.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.StdErrLog 
-Dorg.eclipse.jetty.LEVEL=DEBUG 

Snap of Eclipse Configuration

+1

+1これは私のために働いた唯一の解決策ですが、最初のオプションが2番目のオプションが動作するために必要な理由がわかりません... –

+0

これを見つけるのに4時間かかりました。ありがとう。 – Richard

0

を追加しますこのスニペットを使用してロギングを有効にすることができます:

import org.eclipse.jetty.util.log.Log; 
import org.eclipse.jetty.util.log.StdErrLog; 
. 
. 
. 
StdErrLog logger = new StdErrLog(); 
logger.setDebugEnabled(true); 
Log.setLog(logger); 
関連する問題