SLF4J:无法加载类

时间:2013-07-05 07:27:33

标签: java quartz-scheduler slf4j

当我运行项目时,我首先看到此错误,然后输出也显示在控制台窗口中。我无法理解为什么这会显示错误1。我还粘贴了

下面的错误和输出
import java.util.Date;
import ConnectionDB.ConnectionDBClass;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SimpleTrigger;
import org.quartz.impl.StdSchedulerFactory;
public class SimpleTriggerExample 
{
public static void main( String[] args ) throws Exception
{
    JobDetail job = new JobDetail();
    job.setName("dummyJobName");
    job.setJobClass(HelloJob.class);

    //configure the scheduler time
    SimpleTrigger trigger = new SimpleTrigger();
    trigger.setName("dummyTriggerName");
    trigger.setStartTime(new Date(System.currentTimeMillis() + 1000));
    trigger.setRepeatCount(SimpleTrigger.REPEAT_INDEFINITELY);
    trigger.setRepeatInterval(5000);

    //schedule it
    Scheduler scheduler = new StdSchedulerFactory().getScheduler();
    scheduler.start();
    scheduler.scheduleJob(job, trigger);

}
}

第二个CLass名称Hello.class

import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;

public class HelloJob implements Job
{
public void execute(JobExecutionContext context)
throws JobExecutionException {

    System.out.println("Hello Quartz!");    

}

}

错误和输出如下(输出前三行错误和接下来的三行)

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Hello Quartz!
Hello Quartz!
Hello Quartz!

2 个答案:

答案 0 :(得分:4)

slf4j不是记录器,而是记录外观。如果要进行日志记录,则必须向类路径添加记录器(绑定)。如果未找到记录器,则slf4j API默认为内置NOP记录器。

如果您不想记录,只需忽略警告。

答案 1 :(得分:3)

slf4j是一个需要实现绑定才能执行日志记录的外观

如果您在错误消息中看到链接,则说明

  

无法将org.slf4j.impl.StaticLoggerBinder类加载到内存中时会报告此错误。如果在类路径上找不到合适的SLF4J绑定,则会发生这种情况。在类路径上放置一个(并且只有一个)slf4j-nop.jar,slf4j-simple.jar,slf4j-log4j12.jar,slf4j-jdk14.jar或logback-classic.jar应该可以解决问题。

     

自1.6.0起自SLF4J版本1.6起,在没有绑定的情况下,SLF4J将默认为无操作(NOP)记录器实现。

相关问题