项目运行插件-日志管理

日志管理

项目运行时模块提供了项目日志收集,检索和保存查询方案等功能。

体验地址: http://119.163.197.219:13456/view/runtime/index.html#/log/aioLogPage

沟通加QQ群 : 908377977
gitee 开源地址 : https://gitee.com/aiocode/aio-runtime
github开源地址 : https://github.com/codeisangel/aio-runtime

日志模块使用Lucene全文本检索引擎提供日志的存储与检索,Lucene单个索引库能提供在200万以内的日志范围提供1000行日志的秒以内的写入能力,日志模块默认一个小时创建一个所以库,因此一天2000万级别日志,轻松拿捏。

日志默认保存90天。

日志查询

日志查询页面截图如下 :
日志查询页面

日志查询可以通过 类名,方法名,追踪码,日志级别 ,发生时间,标记,线程名,内容,MDC查询

追踪码

追踪码可以用于还原请求的处理过程。servlet服务一个请求对应一个线程,追踪吗使用ThreadLocal方式使追踪码与线程相关联。

同时可以通过获取当前线程的追踪码

TraceId.getTraceId();

可以通过AOP或者拦截器等方式将追踪码返回到前端,帮助前后端联调。前端仅需要提供追踪码,后台就可以通过追踪码查询到请求的日志。

当然运行时模块也提供了接口访问记录功能,让接口访问记录与追踪码,日志相结合,更方便确认问题。

Servlet 集成追踪码

通过添加servlet拦截器TraceIdInterceptor可以快速集成追踪码

@Slf4j
@Configuration
public class ServletWebInterceptorConfig implements WebMvcConfigurer {

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(new TraceIdInterceptor()).addPathPatterns("/**");
    }
}

通过标记查询

日志模块提供了日志标记功能,用户可以通过如下方法为日志添加标记,

log.error(SubscribeMarker.getMarker("MappingsEndpoint"), "读取接口信息失败。MappingsEndpoint 未注入。请引入 spring-boot-starter-actuator 模块,并且开启MappingsEndpoint ");

SubscribeMarker 对象可以标记日志,标记后可以通过标记查询日志,例如上例,可以通过MappingsEndpoint 查询日志

通过内容查询

日志模块支持日志全文本检索,提议对内容添加多个内容条件 ,如下图 :

内容查询

MDC查询

MDC是日志框架提供的标记日志的功能,与日志追踪码原理相同使用ThreadLocal 标记线程日志。

添加方式如下 :

        MDC.put("logCreate", IdUtil.nanoId());
        MDC.put("testMdc", RandomUtil.randomStringUpper(10));

查询时可以通过输入 key - value 对应的日志,MDC适合标记业务与日志的关系,例如,将 用户ID,业务流程号等与日志关联。

查询页面如下 :

MDC日志查询

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

keep-go-on

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值