slf4j无法通过计划的任务线程工作

时间:2019-07-02 16:39:47

标签: java multithreading spring-boot log4j slf4j

我正在开发一个spring boot应用程序,该应用程序在taskexecutor池中配置了一个小任务。

在主类中,我有一个slf4j记录器,它能够在文件中打印日志。但是taskexecutor函数和其中的代码不使用相同的日志文件。它只能打印到控制台。

@ComponentScan("com.poc.poc")
@SpringBootApplication()
public class PocApplication implements SchedulingConfigurer {

    private static final Logger s_logger = LoggerFactory.getLogger(PocApplication.class);

    @PostConstruct
    private void init()
    {
        s_logger.info("In Init");
    }
    @Override
    public void configureTasks (ScheduledTaskRegistrar taskRegistrar) {
        s_logger.trace("In configure Tasks");

        taskRegistrar.addFixedDelayTask(() -> {
        s_logger.trace ("The task caller");
        thetask();
        },60000;
    }

    thetask()
    {
        s_logger.trace ("In the task");
    }
}

构建后初始化init功能的日志记录在文件中。

但不是配置任务内部的日志,也不是task()函数中的日志。

这可能是什么原因以及如何使其起作用?

我什至试图在configuretasks内创建一个新的记录器对象,但仍然无法正常工作

0 个答案:

没有答案