敏捷开发之细节常识

一、日志篇

我的日志的两点要求:
a.能找到那个机器,ip或者域名
b.能知道用户做了什么(收集用户行为信息)
c.能快速的定位到一次请求从发起到结束的调用链闭环

  • 1.1 日志格式
[%token] %d %-5level %logger[%line] - %msg%n

token变量如何产生的,请参数另一篇文章http://www.jianshu.com/p/8de13d26ddcd

  • 1.2 日志收集
    请参数另一篇文章 http://www.jianshu.com/p/9b717551ee44
  • 1.3 日志查找
    命令grep string file.txt
  • 1.4 自定义HTTP头
    其实通过以上三步基本上都能解决我提出的abc三点问题,但其实我们还可以做和更灵活一点,比如直接在浏览器的response中返回日志收集到的用户行为信息(测试环境、Demo环境可行,但生产环境可别这样做,影响http传输性能),当然可以少传输一点返因信息,比如只返回当前请求落点在哪台server node 上。
    让返回头里面返回日志信息,简单配置如下(生产环境比这个严谨),但别太复杂或详细,出于性能和安全考虑。
((HttpServletResponse) response).setHeader("X-Slave", json);
敏捷开发之细节常识_第1张图片
image.png

返回当前URL请求对应的server node,如项目是使用的spring boot开发,则可以自动根据环境收集不同日志,返回不同级别的日志,动态灵活。
以上部份内容参照https://zhuanlan.zhihu.com/p/28629319

你可能感兴趣的:(敏捷开发之细节常识)