我正在尝试在嵌入式Jetty实例中将日志记录级别设置为DEBUG
。
http://docs.codehaus.org/display/JETTY/Debugging处的文档说 -
在调用new之前调用SystemProperty.set(“DEBUG”,“true”) org.mortbay.jetty.Server()。
我不确定SystemProperty
类是什么,它似乎没有在任何地方记录。我试过了System.setProperty()
,但这并没有成功。
答案 0 :(得分:25)
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 = {}水平
其中{classref}是您要设置级别的类引用, 和所有子类refs。和{level}是值ALL,DEBUG之一, 信息,警告
实施例: -Dorg.eclipse.jetty.LEVEL = INFO - 这将为所有jetty包/类启用INFO级别日志记录。 -Dorg.eclipse.jetty.io.LEVEL = DEBUG - 这将仅为IO类启用DEBUG级别日志记录 -Dorg.eclipse.jetty.servlet.LEVEL = ALL - 这将为servlet启用所有日志记录(跟踪事件,内部忽略的异常等) 包。 -Dorg.eclipse.jetty.util.thread.QueuedThreadPool.LEVEL = ALL - 这将仅启用特定类的ALL +级别。
答案 1 :(得分:14)
如果您只是想快速获取日志消息给stderr,请将这样的内容添加到java命令行:
-Dorg.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.StdErrLog -D{classref}.LEVEL=DEBUG
答案 2 :(得分:12)
答案 3 :(得分:4)
您可以使用此代码段启用日志记录:
import org.eclipse.jetty.util.log.Log;
import org.eclipse.jetty.util.log.StdErrLog;
.
.
.
StdErrLog logger = new StdErrLog();
logger.setDebugEnabled(true);
Log.setLog(logger);