2012-02-10 68 views
27

我試圖在嵌入式Jetty實例中將日誌記錄級別設置爲DEBUG如何使用嵌入式Jetty啓用DEBUG級別日誌記錄?

http://docs.codehaus.org/display/JETTY/Debugging文檔說來 - 調用new org.mortbay.jetty.Server前

呼叫SystemProperty.set( 「調試」, 「真」),()。

我不確定SystemProperty類是什麼,它似乎沒有記錄在任何地方。我試過System.setProperty(),但那並沒有辦法。

+0

什麼版本的Jetty?你在類路徑上有什麼日誌框架? – Tim 2012-02-11 00:35:04

+0

我目前使用Jetty 7.5.4,但可以真正使用任何版本。對於日誌記錄,我將log4j用於我的非Jetty代碼,並讓JEtty中的SLF4J默認爲NOP記錄器實現(它將寫入調試控制檯,這正是我需要的)。 – HolySamosa 2012-02-13 17:51:02

回答

24

我的問題回答了喬金 - Erdfelt Jetty的郵件列表:

您正在尋找在docs.codehaus.org老碼頭6.x的文檔。

DEBUG日誌記錄只是一個日誌記錄級別,由您選擇使用的日誌記錄 實施確定。

-D {} classref .LEVEL = {}水平

其中{} classref是你想設置, 水平和所有子類裁判的類引用。和{水平}是值之一ALL,DEBUG, INFO,WARN

示例: -Dorg.eclipse.jetty.LEVEL = INFO - 這將使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 +。

11

如果你只是想快速獲得消息記錄到標準錯誤這樣添加一些java命令行:

-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,這是唯一的解決方案,我工作,但我不明白爲什麼第一個選項需要第二個工作... – 2017-01-10 23:32:38

+0

我花了4個小時才找到這個,但它在這裏。謝謝。 – Richard 2017-06-07 10:58:29

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); 
相關問題