Java后端项目排错经验分享

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: Java后端项目排错经验分享

导致错误的原因有很多,最常见的无非也就那么几种:


1、粗心导致的格式问题以及代码多写少写错写字母的问题


2、代码逻辑问题


3、框架版本不匹配问题


无论是哪种问题,排查错误的方式最好最便捷的方式有调试+日志,那么如果是线上问题的话,单步调试是不太可能了,所以最重要的还是要学会如何看日志,一个项目有没有灵魂就看日志打的怎么样了,接下来带大家解读一个springboot项目启动时打的一些日志;


前提:这里博主使用了一个springboot项目集成nacos,nacos开启鉴权后的项目;


35c3d7504454424f8f91d6adbf8e7335.png


启动时,项目会告诉你,加载权限客户端成功,加载了两个类,分别是com.alibaba.nacos.client.auth.impl.NacosClientAuthServiceImpl类和com.alibaba.nacos.client.auth.ram.RamClientAuthServiceImpl,


接下来会告诉你要加载nacos配置中心的配置文件了,


e51b9e4d38a44b4e8dffa47348045f43.png


首先告诉你,忽略空的nacos配置,并根据dataId[merit-appraise]&group[MERIT_GROUP]获取它,然后告诉你加载了哪些配置文件,图中红框圈了有三个,项目启动的时候会默认加载你项目中配置了application.name和profile.active这两个属性的值拼起来的文件;


52b0f604e20f4f519b40548c58760970.png


博主这里只配置了application.name,没有配置profile.active,那么也就是在启动的时候会加载一个名为merit-appraise的文件,然而在我的nacos配置中是没有名为merit-appraise的配置的,所以相当于加载了一个空的配置文件,另外加载的两个配置是根据自己在配置文件中配置的文件来进行加载的,


48c794088c964ae6a7926e383e059da0.png


之后也就是会告诉你,启动了web服务器tomcat,耗时多少多少时间;


a71a391fd69c4c309e70708cc3eab429.png


总之,你要知道的是,项目报的错,都会通过日志的方式打出来告诉你,你要学会如何去看,分析日志中有的信息,会让你在排错的道路上效率翻倍,不要盲目的拿一个错误信息就去百度查,属于没动脑子干事;自己写的业务逻辑代码,也要会自定义打日志,入参,出参,返回值,异常信息,一样都不能少,这种大量的打日志操作势必会影响业务逻辑代码的性能,所以这里小编后续再给大家分享如何将业务逻辑与非业务逻辑代码做隔离;让非业务逻辑代码例如打日志这种操作不会影响业务逻辑代码执行的效率;


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
22天前
|
Java Maven
java项目中jar启动执行日志报错:no main manifest attribute, in /www/wwwroot/snow-server/z-server.jar-jar打包的大小明显小于正常大小如何解决
在Java项目中,启动jar包时遇到“no main manifest attribute”错误,且打包大小明显偏小。常见原因包括:1) Maven配置中跳过主程序打包;2) 缺少Manifest文件或Main-Class属性。解决方案如下:
java项目中jar启动执行日志报错:no main manifest attribute, in /www/wwwroot/snow-server/z-server.jar-jar打包的大小明显小于正常大小如何解决
|
18天前
|
存储 Java BI
java怎么统计每个项目下的每个类别的数据
通过本文,我们详细介绍了如何在Java中统计每个项目下的每个类别的数据,包括数据模型设计、数据存储和统计方法。通过定义 `Category`和 `Project`类,并使用 `ProjectManager`类进行管理,可以轻松实现项目和类别的数据统计。希望本文能够帮助您理解和实现类似的统计需求。
68 17
|
1月前
|
NoSQL Java 关系型数据库
Liunx部署java项目Tomcat、Redis、Mysql教程
本文详细介绍了如何在 Linux 服务器上安装和配置 Tomcat、MySQL 和 Redis,并部署 Java 项目。通过这些步骤,您可以搭建一个高效稳定的 Java 应用运行环境。希望本文能为您在实际操作中提供有价值的参考。
147 26
|
2月前
|
XML Java 测试技术
从零开始学 Maven:简化 Java 项目的构建与管理
Maven 是一个由 Apache 软件基金会开发的项目管理和构建自动化工具。它主要用在 Java 项目中,但也可以用于其他类型的项目。
80 1
从零开始学 Maven:简化 Java 项目的构建与管理
|
2月前
|
Java
Java项目中高精度数值计算:为何BigDecimal优于Double
在Java项目开发中,涉及金额计算、面积计算等高精度数值操作时,应选择 `BigDecimal` 而非 `Double`。`BigDecimal` 提供任意精度的小数运算、多种舍入模式和良好的可读性,确保计算结果的准确性和可靠性。例如,在金额计算中,`BigDecimal` 可以精确到小数点后两位,而 `Double` 可能因精度问题导致结果不准确。
|
2月前
|
Java Android开发
Eclipse 创建 Java 项目
Eclipse 创建 Java 项目
55 4
|
2月前
|
SQL Java 数据库连接
从理论到实践:Hibernate与JPA在Java项目中的实际应用
本文介绍了Java持久层框架Hibernate和JPA的基本概念及其在具体项目中的应用。通过一个在线书店系统的实例,展示了如何使用@Entity注解定义实体类、通过Spring Data JPA定义仓库接口、在服务层调用方法进行数据库操作,以及使用JPQL编写自定义查询和管理事务。这些技术不仅简化了数据库操作,还显著提升了开发效率。
66 3
|
2月前
|
前端开发 Java 数据库
如何实现一个项目,小白做项目-java
本教程涵盖了从数据库到AJAX的多个知识点,并详细介绍了项目实现过程,包括静态页面分析、数据库创建、项目结构搭建、JSP转换及各层代码编写。最后,通过通用分页和优化Servlet来提升代码质量。
82 1
|
2月前
|
jenkins Java 测试技术
如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例详细说明
本文介绍了如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例,详细说明了从 Jenkins 安装配置到自动构建、测试和部署的全流程。文中还提供了一个 Jenkinsfile 示例,并分享了实践经验,强调了版本控制、自动化测试等关键点的重要性。
95 3
|
2月前
|
小程序 前端开发 算法

热门文章

最新文章