背景介绍
本文是对xxljob的不打印调度日志与控制台日志的排查过程
问题一:调度日志为空
问题2
admin权限启动jar包后,xxljob控制台将不会打印日志。root权限启动的话,xxljob控制台将会打印日志。
问题排查
问题一
1.出现问题一的可能有两个
2.接口没有查询到调度日志
数据库内本来就没有调度日志
通过排查,发现
数据库主从复制的时候报错。从库没有同步主库的数据。由于mysql的主从是。主库进行写操作,从库进行查询操作。导致无法查询数据。
问题二
推测问题应该出现在xxljob的日志文件上。
admin权限无法打印日志,可能是因为都这个路径没有读取权限导致无法进行执行其日志的存储。但是我们做了尝试。如果对这个路径没有读写权限的话,对应的jar包都无法运行,项目根本就起不来。但是如果项目起来之后,将这个路径下的log文件删掉,可能会出现我们所说的问题二。
最后推测是:
admin权限启动xxljob之后,因为xxljob日志过大,有人对这个日志文件进行了清除,导致之后的xxljob任务虽然正常执行,但是执行器日志不再进行打印。
升华
1.解决问题,要从多方面排查,先确定一个边界,然后遍历每种情况。
2.删除文件的时候,一定要确定文件是无用的,就算是log日志做过备份之后,也不能轻易删除,可以清空其内容。