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

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