导致错误的原因有很多,最常见的无非也就那么几种:
1、粗心导致的格式问题以及代码多写少写错写字母的问题
2、代码逻辑问题
3、框架版本不匹配问题
无论是哪种问题,排查错误的方式最好最便捷的方式有调试+日志,那么如果是线上问题的话,单步调试是不太可能了,所以最重要的还是要学会如何看日志,一个项目有没有灵魂就看日志打的怎么样了,接下来带大家解读一个springboot项目启动时打的一些日志;
前提:这里博主使用了一个springboot项目集成nacos,nacos开启鉴权后的项目;
启动时,项目会告诉你,加载权限客户端成功,加载了两个类,分别是com.alibaba.nacos.client.auth.impl.NacosClientAuthServiceImpl类和com.alibaba.nacos.client.auth.ram.RamClientAuthServiceImpl,
接下来会告诉你要加载nacos配置中心的配置文件了,
首先告诉你,忽略空的nacos配置,并根据dataId[merit-appraise]&group[MERIT_GROUP]获取它,然后告诉你加载了哪些配置文件,图中红框圈了有三个,项目启动的时候会默认加载你项目中配置了application.name和profile.active这两个属性的值拼起来的文件;
博主这里只配置了application.name,没有配置profile.active,那么也就是在启动的时候会加载一个名为merit-appraise的文件,然而在我的nacos配置中是没有名为merit-appraise的配置的,所以相当于加载了一个空的配置文件,另外加载的两个配置是根据自己在配置文件中配置的文件来进行加载的,
之后也就是会告诉你,启动了web服务器tomcat,耗时多少多少时间;
总之,你要知道的是,项目报的错,都会通过日志的方式打出来告诉你,你要学会如何去看,分析日志中有的信息,会让你在排错的道路上效率翻倍,不要盲目的拿一个错误信息就去百度查,属于没动脑子干事;自己写的业务逻辑代码,也要会自定义打日志,入参,出参,返回值,异常信息,一样都不能少,这种大量的打日志操作势必会影响业务逻辑代码的性能,所以这里小编后续再给大家分享如何将业务逻辑与非业务逻辑代码做隔离;让非业务逻辑代码例如打日志这种操作不会影响业务逻辑代码执行的效率;