记录一次非常麻烦的调试

打印 上一主题 下一主题

主题 880|帖子 880|积分 2640

此次记录一次非常麻烦的调试问题,不是纯知识分享,只是记录这次调试过程引以为戒。
问题简介

这个功能是公司2021年写的老功能,一直都没有更新过代码,这次在导入一个1.03G的大文件进行读取的过程中出问题了。
简单介绍一下这个功能:
公司使用的spring boot框架构建项目,该功能为项目内的一个接口调用功能。该功能首先,通过远程接口下载文件到局域网sftp服务器上;下载完毕后将服务器文件下载到本机指定位置内;最后读取文件内容,识别其中的数据,将合法数据添加到数据库中。
出现的问题:

  • 导出日志时,try...catch字段不产生任何报错,但是实际上没有任何动作。
  • 内存溢出问题。
  • json读取异常。
  • 待补充。
问题解决过程

1、try...catch...字段不产生任何报错的问题。

这个问题属实是最大问题了,也是困扰很久的问题。
起因是这个功能没有任何报错,但是动作只进行到【下载文件到sftp服务器上】,之后的步骤就没出现了。
<ol>首先注意到没有任何报错的过程,于是添加了Logger类,对各个步骤添加了logger以便查看输入。
这个处理方式是:
<ul>引入logger相关类,之后在操作类中创建Logger对象,格式如下:
  1. import org.slf4j.Logger;
  2. import org.slf4j.LoggerFactory;
  3. public class assetSyncForXN {
  4.     private static final Logger logger = LoggerFactory.getLogger(assetSyncForXN.class);
  5. }
复制代码
在项目模块的application.yml配置中,配置logger的显示权限:
[code]logging:  level:    com.***.***: ERROR# 这里注意一下:level代表等级,代表下面的包能够展示日志log最低的等级。# 下面的示例语句,左边【com.***.***】代表包名,表示这个包下面的所有的包含类,都有这个的最低展示权限。# 右边【ERROR】表示【最低】展示权限,从低到高依次为DEBUG
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

冬雨财经

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表