2013-01-16 26 views
1

我正在添加日誌到我的休息應用程序,其中有幾個層(控制器,服務,道...)。如何識別或定義每個請求的唯一日誌ID?

如何識別或定義每個請求的唯一日誌ID,以便我可以在一個請求的不同層中使用相同的日誌ID? (無控制器創建它並將它傳遞給每一層)

FYI:我使用log4j的

的感謝!

回答

1

不知道你正在使用什麼日誌框架,很難提供具體的建議。

我通常使用Log4J的NDC或MDC這樣的東西:請求進來,在診斷上下文中用相關信息標記,日誌格式化程序以對您的應用程序有意義的方式吐出診斷上下文。

我也一般使用自定義消息格式化程序,以確保DC得到一致的日誌記錄,供日誌文件使用者以後使用。如果它要去一個DB /消息隊列/等。它可能並不重要,因爲上下文通常可以按現狀傾銷並進行相應處理。