在零配置的情况下,无感知的支持各个中间件打印,支持链路、支持对接第三方观测系统。
Git地址:https://gitlab.sdo.com/basisplatform/sqg-env-config
序号 | 特性 | 实现方式 | 备注 | 进度 |
---|---|---|---|---|
1 | 异步打印,不影响主流程耗时 | AsyncAuditPool | 开启线程池,对外方法,统一打印 | 完成 |
2 | 日志分层 | 统一logger name,logback.xml 设置不同的日志打印方式 | 完成 | |
3 | 支持controller http请求 | httpserlvet和切面结合 | traceId的塞入改为在拦截器或者是filter里 | 完成 |
4 | 支持resttemplate中间件日志打印 | 完成 | ||
5 | 支持rabbitmq中间件日志打印 | 待测试 | ||
6 | 支持kafka中间件日志打印 | 进行中 | ||
7 | 支持mysql日志打印 | |||
改为使用mybatis的plugin日志打印(后续考虑直接切jdbcTemplate) | 完成 | |||
8 | 支持Redis日志打印 | redisTemplate自定义切面 需要支持全部操作 | 完成 | |
8 | 支持xxl-job日志打印 | 后续 | ||
10 | 支持hbase日志打印 | 后续 | ||
11 | 对接第三方监控?? | |||
12 | 是否需要支持log的格式?? | |||
13 | 支持mongo日志打印?? | |||
14 | 支持dubbo日志打印 | dubbo filter和RpcContext | 完成 |
timestamp, tracedId, spanId, remoteAddr, endpoint(访问的入口), Method(web请求下有), sequence, costTime, globalServiceId, serviceName, req, res
timestamp, tracedId, spanId, parentSpanAction, remoteAddr, endpoint(访问的入口), Method(web请求下有), sequence, costTime, req, res
改为:三个空格+英文逗号
以sq-mall-administration举例:
<dependency>
<groupId>com.sqg</groupId>
<artifactId>sqg-env-config</artifactId>
<version>1.0.1-RELEASE</version>
</dependency>
引入依赖后默认就已经拥有Redis、mq、web、restTemplate等监控能力
移除AllAOP和其他继承了BaseAop的切面类