1. 程式人生 > >springcloud之個性化日誌追蹤

springcloud之個性化日誌追蹤

  1. 方案背景

日誌跟蹤技術使得查詢一次呼叫所產生的日誌資訊變得方便。當需要排查一些問題時,可以根據報錯的上下文進行分析,給問題診斷帶來方便。在spring cloud微服務中,單體應用的日誌跟蹤技術已經不能滿足需求,因而一般採用Spring Cloud Sleuth元件提供的功能來完成分散式日誌跟蹤。

Spring Cloud Sleuth元件會在zuul閘道器中,對於每個請求生成一個日誌id,之後會通過http header的方式將id帶到不同的服務應用中。在特定應用中,通過sl4j及特定的日誌輸出架構(比如logbackc)實施單體應用的日誌跟蹤。

Spring Cloud Sleuth預設的解決方案是在一次請求所生產的每條日誌中新增日誌id,然後通過日誌id來關聯該次請求的日誌資訊。在某些業務場景,可能需要對預設的解決方案進行功能的擴充套件,比如:

  1. 業務上對日誌id的格式有要求,比如需要從日誌id中看出請求的時間點等。
  2. 出於監控的需求,需要在每條日誌中加入客戶端請求的ip資訊等。

本方案便是通過擴充套件Spring Cloud Sleuth預設的解決方案的功能達到滿足以上業務點。