前言

​ 在xxl-job的任务中,如果需要把日志输入到xxl-job的日志文件里,需要使用XxlJobHelper.log来记录日志,这种方式才能在任务执行详情里面看到对应的日志。而有时候 习惯用@Slf4j来记录日志,而通过slf4j打印的日志没办法在xxl-job管理后台看到对应的日志。所以需要一种方式能够把log记录的日志,同时输出到xxl-job

实现方式
  1. 借助logback的filter来实现,实现一个类继承Filter

    public class JxXxlJobLogFilter extends Filter<ILoggingEvent> {
        @Override
        public FilterReply decide(ILoggingEvent event) {
          	//判断是否是处于xxl-job上下文中(通过xxl-job调用发起的)
            if (XxlJobContext.getXxlJobContext() != null) {
              	//调用xxl-job记录日志的方法 不同版本的xxl-job记录日志的api不一样
                XxlJobHelper.log(event.getFormattedMessage());
            }
          	//放行
            return FilterReply.NEUTRAL;
        }
    }
    
  2. 在logback中加入相应的filter

    <filter class="com.jx.shop.config.JxXxlJobLogFilter"/>
    
GitHub 加速计划 / xx / xxl-job
27.15 K
10.79 K
下载
xxl-job: 是一个分布式任务调度平台,核心设计目标是开发迅速、学习简单、轻量级、易扩展。
最近提交(Master分支:3 个月前 )
e5d26ba2 - 3 个月前
977ad87b - 3 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐