2017-06-07 65 views
0

對不起,如果我在這裏提出非常基本的問題。但我使用的下拉式嚮導應用程序的日誌格式爲"%-6level [%d{HH:mm:ss.SSS}] [%t] %logger{5} - %X{code} %msg %n"Drop-wizard日誌格式中`X {code}`的含義是什麼

和應用程序日誌包含以下線路: -

INFO [2017-06-07 13:54:43,828] com.foo.Bar: In Get Method 

我理解%-6level , date and %t and %msg %n這個含義在日誌格式,但不能得到%X {}代碼和記錄的含義{5},並且在我的日誌中看不到這些打印。

有人能指點我一個正確的文檔,其中每個日誌格式的參數詳細解釋。

+0

使用哪個日誌框架? – Berger

+0

我使用內部使用'logback'的dropwizard。 – user7851946

+0

'%X'用於映射的診斷上下文(MDC)。 '%logger'是記錄器的名稱。 https://logback.qos.ch/manual/layouts.html –

回答

2

這裏是大約的logback佈局一個很好的文檔:Layouts

對於logger{length}部分:

輸出在記錄事件的起源記錄器的名稱。 此轉換字採用整數作爲其第一個也是唯一的選項。 轉換器的縮寫算法會縮短記錄器名稱,通常不會顯着損失含義。將長度選項 的值設置爲零構成例外。這將導致 轉換字將記錄器名稱中右側的子字符串右邊的 字符返回。下表提供了 縮寫算法的實例。

對於X{key:-defaultVal}部分:

輸出與螺紋 生成該日誌記錄事件相關聯的MDC(映射診斷上下文)。有關MDC

更多信息可以在這裏找到:Mapped Diagnostic Context

您的配置,你會調用它e.g:

MDC.put("code", "whateverCode"); 
+0

感謝您的好解釋,所以如果我沒有錯'%t'是用於打印線程名稱,在我的情況下是空白的,而'com.foo.Bar'是我在創建記錄器時給出的記錄器的名稱對象? – user7851946

+0

是的,請注意,如果您願意,可以使用'%thread'而不是'%t'(請參考上述關於佈局的鏈接)。 – Berger

相關問題