埋め込みJettyインスタンスでログレベルをDEBUG
に設定しようとしています。
http://docs.codehaus.org/display/JETTY/Debugging にあるドキュメントには、
新しいorg.mortbay.jetty.Server()を呼び出す前に、SystemProperty.set( "DEBUG"、 "true")を呼び出します。
SystemProperty
クラスが何かはわかりません。どこにもドキュメント化されていないようです。私はSystem.setProperty()
を試しましたが、それはうまくいきませんでした。
Joakim ErdfeltがJettyメーリングリストで私の質問に回答しました。
Docs.codehaus.orgで古いJetty 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を使用する場合、従うべきパターンがあります。
-D {classref} .LEVEL = {level}
ここで、{classref}は、レベルを設定するクラス参照、およびすべてのサブクラス参照です。 {level}は、ALL、DEBUG、INFO、WARNのいずれかの値です
例:-Dorg.Eclipse.jetty.LEVEL = INFO-これにより、すべてのjettyパッケージ/クラスのINFOレベルのロギングが有効になります。 -Dorg.Eclipse.jetty.io.LEVEL = DEBUG-IOクラスのみのデバッグレベルのログ記録を有効にします-Dorg.Eclipse.jetty.servlet.LEVEL = ALL-すべてのログ記録を有効にします(トレースイベント、内部的に無視された例外など)サーブレットパッケージの場合-Dorg.Eclipse.jetty.util.thread.QueuedThreadPool.LEVEL = ALL-これにより、特定のクラスでのみALL +レベルが有効になります。
ログメッセージをstderrにすばやく取得したい場合は、Javaコマンドラインに次のように追加します。
-Dorg.Eclipse.jetty.util.log.class=org.Eclipse.jetty.util.log.StdErrLog -D{classref}.LEVEL=DEBUG
このスニペットを使用して、ロギングを有効にすることができます。
import org.Eclipse.jetty.util.log.Log;
import org.Eclipse.jetty.util.log.StdErrLog;
.
.
.
StdErrLog logger = new StdErrLog();
logger.setDebugEnabled(true);
Log.setLog(logger);