在同时使用 xxl-job 和 logback-spring.xml 两个日志记录方式的时候发现以下问题:
xxl-job:
可以捕获xxl-job方法体的报错信息,不能捕捉接口形式的报错信息。
logback-spring.xml:
可以捕获接口形式的报错信息,但没有捕获xxl-job方法体的报错信息。
分析:
其实这样也不是不行,就是你想查看日志的时候,可能需要来回切换日志文件进行查看。
解决方案:
在方法体中加入log.error(“项目异常”, e) 进行打印日志,记录到第三方日志文件中。
比如:
@XxlJob("demo")
public ReturnT<String> execute(String param) throws Exception {
XxlJobLogger.log("demo同步任务开始");
/**
* 同步主逻辑
*/
try {
syncMsgUtil.syncMsg();
} catch (Exception e) {
log.error("项目异常", e);
ExceptionInsert.insertException("demo", "demo", 19, "demo短信同步流程,发生了错误!", 1, "smsSendError", "项目总异常", e.toString());
XxlJobLogger.log(e.toString());
throw new RuntimeException(e);
}
XxlJobLogger.log("demo同步任务结束");
ReturnT<String> returnt = new ReturnT<>();
returnt.setCode(200);
returnt.setMsg("sucess");
return returnt;
}
PS: @Slf4j在下面这个包下
import lombok.extern.slf4j.Slf4j;
评论前必须登录!
注册