大数据全系列 教程
1869个小节阅读:464.9k
目录
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
接下来进行Debug调试
根据日志的提示:at cn.itbaizhan.etl.mr.AnalyserLogDataMapper.map(AnalyserLogDataMapper.java:47)在.AnalyserLogDataMapper类map方法的第45处通过双击添加断点
debug运行程序
遇到进入底层类中出不了,提示信息如下
xxxxxxxxxx
Variables debug info not available
如何解决?
进入如下界面:
再次Debug测试,如上变解决了,但是出现如下错误提示
xxxxxxxxxx
java.lang.IllegalArgumentException: No enum constant cn.itbaizhan.common.EventLogConstants.EventEnum.e_pv
测试发现代码方法调用错误
xxxxxxxxxx
EventEnum eventEnum = EventEnum.valueOf(eventAliasName);
//改为:
EventEnum eventEnum = EventEnum.valueOfAlias(eventAliasName);
再次Debug测试,如上问题表解决了,遇到一个新的Bug。
在执行到分析如下日志出现了NullPointerException
xxxxxxxxxx
192.168.20.1•1642397510.999•node1•/log.gif?name=zhangsan
分析发现在类似情况时没有参数en,所以eventAliasName值为null。
怎么解决?接下来细化代码
xxxxxxxxxx
//获取事件名称,必须在6种中的某一种,不符合该要求也要过滤掉
String eventAliasName = clientInfo.get(EventLogConstants.LOG_COLUMN_NAME_EVENT_NAME);
//避免类似情况192.168.20.1•1642397510.999•node1•/log.gif?name=zhangsan
if(StringUtils.isBlank(eventAliasName)){
this.filterRecords++;
return;
}
//根据eventAliasName转换为EventEnum类对象,方便后续的处理
EventEnum eventEnum = EventEnum.valueOfAlias(eventAliasName);
再次运行程序bug解决了。