java日志空指针怎么定位问题
示例报错:
java.lang.NullPointerException: null
at com.ipharmacare.sf.task.service.MatchAuditPlanService.getThisRecipeMsgList(MatchAuditPlanService.java:948) ~[ipharmacare-distributed-sf-as-3.2.190523.RELEASE.jar:3.2.190523.RELEASE]
at com.ipharmacare.sf.task.service.MatchAuditPlanService.isMzTaskMatched(MatchAuditPlanService.java:115) ~[ipharmacare-distributed-sf-as-3.2.190523.RELEASE.jar:3.2.190523.RELEASE]
at com.ipharmacare.sf.task.service.MatchAuditPlanService.isTaskMatchAuditPlan(MatchAuditPlanService.java:86) ~[ipharmacare-distributed-sf-as-3.2.190523.RELEASE.jar:3.2.190523.RELEASE]
at com.ipharmacare.sf.task.service.PharmacistWorkingService.taskBaseAuditPlanMatch(PharmacistWorkingService.java:60) ~[ipharmacare-distributed-sf-as-3.2.190523.RELEASE.jar:3.2.190523.RELEASE]
at com.ipharmacare.sf.task.service.DistributedTaskService.add(DistributedTaskService.java:107) ~[ipharmacare-distributed-sf-as-3.2.190523.RELEASE.jar:3.2.190523.RELEASE]
at com.ipharmacare.sf.main.service.AuditMainService.submitDistributedTask(AuditMainService.java:753) [ipharmacare-distributed-sf-as-3.2.190523.RELEASE.jar:3.2.190523.RELEASE]
at com.ipharmacare.sf.main.service.AuditMainService.optMain(AuditMainService.java:311) [ipharmacare-distributed-sf-as-3.2.190523.RELEASE.jar:3.2.190523.RELEASE]
at com.ipharmacare.sf.main.service.AuditMainService.mainProcess(AuditMainService.java:135) [ipharmacare-distributed-sf-as-3.2.190523.RELEASE.jar:3.2.190523.RELEASE]
at com.ipharmacare.sf.main.service.filter.HisDataNodeChain.doFilter(HisDataNodeChain.java:26) [ipharmacare-distributed-sf-as-3.2.190523.RELEASE.jar:3.2.190523.RELEASE]
at com.ipharmacare.sf.main.service.filter.common.HisDataCommonHandler.doFilter(HisDataCommonHandler.java:281) [ipharmacare-distributed-sf-as-3.2.190523.RELEASE.jar:3.2.190523.RELEASE]
at com.ipharmacare.sf.main.service.filter.HisDataNodeChain.doFilter(HisDataNodeChain.java:28) [ipharmacare-distributed-sf-as-3.2.190523.RELEASE.jar:3.2.190523.RELEASE]
at com.ipharmacare.sf.main.service.filter.common.XmlValidateHandler.doFilter(XmlValidateHandler.java:74) [ipharmacare-distributed-sf-as-3.2.190523.RELEASE.jar:3.2.190523.RELEASE]
at com.ipharmacare.sf.main.service.filter.HisDataNodeChain.doFilter(HisDataNodeChain.java:28) [ipharmacare-distributed-sf-as-3.2.190523.RELEASE.jar:3.2.190523.RELEASE]
at com.ipharmacare.sf.thread.RunSfTask.run(RunSfTask.java:39) [ipharmacare-distributed-sf-as-3.2.190523.RELEASE.jar:3.2.190523.RELEASE]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_112]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_112]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_112]
空指针报错日志
对于日志中的报错信息,在java中抛异常是从内往外,因此只需要重点关注第一行报错信息,下面的报错都是由于一层层传递调用该方法导致。查看报错的函数源码再定位问题:

java日志空指针怎么定位问题的更多相关文章
- Java 日志管理最佳实践
转:http://blog.jobbole.com/51155/ 日志记录是应用程序运行中必不可少的一部分.具有良好格式和完备信息的日志记录可以在程序出现问题时帮助开发人员迅速地定位错误的根源.对于开 ...
- [翻译]Java日志终极指南
本文由 ImportNew - Wing 翻译自 loggly.欢迎加入翻译小组.转载请见文末要求. Java日志基础 Java使用了一种自定义的.可扩展的方法来输出日志.虽然Java通过java.u ...
- Java日志框架:SLF4J,Common-Logging,Log4J,Logback说明
Log4j Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台.文件.GUI组件.甚至是套接口服务 器.NT的事件记录器.UNIX Syslog守护进程等 ...
- Java日志规范
前言 一个在生产环境里运行的程序如果没有日志是很让维护者提心吊胆的,有太多杂乱又无意义的日志也是令人伤神.程序出现问题时候,从日志里如果发现不了问题可能的原因是很令人受挫的.本文想讨论的是如何在Jav ...
- Java日志系统及框架分析
最近在考虑将容器(Tomcat)内的应用日志统一成slf4j + logback,主要目的有: 快速定位应用日志输出路径,方便日志的采集: 能动态调整日志的级别,方便线上问题定位: 方便在容器层面做扩 ...
- Java日志系统框架的设计与实现
推荐一篇好的文章介绍java日志系统框架的设计的文章:http://soft.chinabyte.com/database/438/11321938.shtml 文章内容总结: 日志系统对跟踪调试.程 ...
- Java学习笔记(十九)——Java 日志记录 AND log4j
[前面的话] 学习的进度应该稍微在快一点. Java日志到了必须学习怎么使用的时候了,因为在项目中要进行使用.基础性文章,选择性阅读. [结构] java日志对调试,记录运行,问题定位都起到了很重要的 ...
- Java程序员最常用的8个Java日志框架
转自:http://www.codeceo.com/article/8-java-log-framework.html 作为一名Java程序员,我们开发了很多Java应用程序,包括桌面应用.WEB应用 ...
- Java日志管理方法(转载)
原文地址:http://www.cnblogs.com/leocook/p/log_java.html java开发中常见的几种日志管理方案有以下4种: 1. Commons-logging + lo ...
随机推荐
- Swift从入门到精通第十五篇 - 类型转换 初识
类型转换(学习笔记) 环境Xcode 11.0 beta4 swift 5.1 类型转换 类型转换是检查实例类型的一种方法,或者检查来自类层级不同的父类或子类一个实例,用 is 和 as 操作符 为类 ...
- 6.Sentinel源码分析—Sentinel是如何动态加载配置限流的?
Sentinel源码解析系列: 1.Sentinel源码分析-FlowRuleManager加载规则做了什么? 2. Sentinel源码分析-Sentinel是如何进行流量统计的? 3. Senti ...
- 如何从请求、传输、渲染3个方面提升Web前端性能
什么是WEB前端呢?就是用户电脑的浏览器所做的一切事情.我们来看看用户访问网站,浏览器都做了哪些事情: 输入网址 –> 解析域名 -> 请求页面 -> 解析页面并发送页面中的资源请求 ...
- Django-多对多关系的三种创建方式-forms组件使用-cookie与session-08
目录 表模型类多对多关系的三种创建方式 django forms 组件 登录功能手写推理过程 整段代码可以放过来 forms 组件使用 forms 后端定义规则并校验结果 forms 前端渲染标签组件 ...
- vue报错:[Vue warn]: Do not use built-in or reserved HTML elements as component id: header
报错的信息大致是不要将内置或保留的HTML元素用作组件ID 解决的办法是修改name符合规范或者直接删除组件内的name属性.
- Spring入门(十四):Spring MVC控制器的2种测试方法
作为一名研发人员,不管你愿不愿意对自己的代码进行测试,都得承认测试对于研发质量保证的重要性,这也就是为什么每个公司的技术部都需要质量控制部的原因,因为越早的发现代码的bug,成本越低,比如说,Dev环 ...
- 2018年蓝桥杯java b组第六题
标题:递增三元组 给定三个整数数组A = [A1, A2, ... AN], B = [B1, B2, ... BN], C = [C1, C2, ... CN],请你统计有多少个三元组(i, j, ...
- js中的计时器事件`setTimeout()` 和 `setInterval()`
js中的计时器事件 在js中,通常会有一些事件,我们需要让它 间隔一段时间之后再发生,或者 每隔一段时间 发生一次,那就需要用到我们js中的计时事件 计时事件主要有两种: setTimeout() - ...
- Oozie、Flume、Mahout配置与应用
-------------------------Oozie-------------------- [一.部署] 1)部署Oozie服务端 [root@cMaster~]#sudo yum inst ...
- Python2与Python3的map()
1. map()函数 Python2中,map(func, seq1[,seq2[...[,seqn)将func作用于seq*的每个序列的索引相同的元素,并最终生成一个[func(seq1[0], s ...