一、日志篇
我的日志的兩點要求:
a.能找到那個機器,ip或者域名
b.能知道用戶做了什么(收集用戶行為信息)
c.能快速的定位到一次請求從發(fā)起到結(jié)束的調(diào)用鏈閉環(huán)
- 1.1 日志格式
[%token] %d %-5level %logger[%line] - %msg%n
token變量如何產(chǎn)生的,請參數(shù)另一篇文章http://m.itdecent.cn/p/8de13d26ddcd
- 1.2 日志收集
請參數(shù)另一篇文章 http://m.itdecent.cn/p/9b717551ee44 - 1.3 日志查找
命令grep string file.txt - 1.4 自定義HTTP頭
其實通過以上三步基本上都能解決我提出的abc三點問題,但其實我們還可以做和更靈活一點,比如直接在瀏覽器的response中返回日志收集到的用戶行為信息(測試環(huán)境、Demo環(huán)境可行,但生產(chǎn)環(huán)境可別這樣做,影響http傳輸性能),當然可以少傳輸一點返因信息,比如只返回當前請求落點在哪臺server node 上。
讓返回頭里面返回日志信息,簡單配置如下(生產(chǎn)環(huán)境比這個嚴謹),但別太復(fù)雜或詳細,出于性能和安全考慮。
((HttpServletResponse) response).setHeader("X-Slave", json);

image.png
返回當前URL請求對應(yīng)的server node,如項目是使用的spring boot開發(fā),則可以自動根據(jù)環(huán)境收集不同日志,返回不同級別的日志,動態(tài)靈活。
以上部份內(nèi)容參照https://zhuanlan.zhihu.com/p/28629319