java之日誌框架

java日誌框架其實分兩塊內容:

一是日誌框架

比如JDK的j.u.l(java.util.logging),apache的log4j ,logback以及log4j2 等,這類日誌框架主要作用是配置日誌輸出到控制檯,文件,發佈到哪。

二是日誌門面

日誌門面其實就是java程序和日誌框架的中間層。阿里巴巴開發規範中提到,禁止直接使用日誌框架的api來直接記錄日誌。因爲不同日誌框架提供了不同的api,如果直接耦合了某個框架的api到代碼中,後續對於日誌框架的更改將出現問題。所以這裏要求使用日誌門面。通過門面就可以將代碼和具體的實現解耦。

關於日誌的個人見解

  1. 推薦使用lombok,當需要打日誌時直接在類頭使用註解@Slf4j,它會自動注入一個變量log,可以通過此變量直接記錄日誌。

  2. 如果是單體服務,務必要配置日誌文件的分割。之前有個和我說他們日誌上線之後非常大,我就很奇怪,細問才知道他們不配置策略,全都輸出到一個文件中。這絕對是不可取的。

  3. 如果是分佈式架構,一定要做日誌收集,推薦做全鏈路追蹤。這樣才能在分佈式的環境下像單體服務一樣查詢日誌,並且追蹤上下文。不然分佈式會用的極其難受。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章