- 背景
为了保障线上每条日志耗时情况可以定位,需要针对每个查询新增qid来标识,并且记录每条查询的每个shard在每台机器上的耗时情况。 - ClassFileTransformer
主要分成三步:
2.1 SearchRequestTransformer
该类实现自ClassFileTransformer, 主要是在elasticsearch的SearchRequest类加上一个qid属性,并生成getQid和setQid方法
2.2 RestSearchActionTransformer
该类实现自ClassFileTransformer, 获取到parseSearchRequest方法,把request中的qid参数赋值给searchRequest对象中的Qid
2.3 AbstractSearchAsyncActionTransformer
该类实现自ClassFileTransformer, 获取AbstractSearchAsyncAction类,在onShardResult中insetBefore方法获取到每个shard执行的耗时情况。并且生成一个Logger对象(LogManager.getLogger(name) ,name为log4j2.properties中logger的名称,这样可以保证日志写入到指定文件中)
javassist 增强es日志
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 一、前言 1、本教程主要内容 ASP.NET Core + 内置日志组件记录控制台日志 ASP.NET Core ...
- 以下内容翻译整理自logback官方手册,地址:logback官方手册 logback 的架构 logback的基...