怎样去除项目启动后有关quartz的日志输出

      项目启动后由于配置了quartz定时任务,每分钟都在产生日志,但是这些日志在我们后期查找问题没有多大的帮助,如下图

       

 

       这里我们要说明一下log4j的日志级别,以便于更好的理解

         日志记录器(Logger)的行为是分等级的如下:

                     

                      OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。

              Log4j建议只使用四个级别,优先级从高到低分别是 ERROR、WARN、INFO、DEBUG。通过在这里定义的级别,

              您可以控制到应用程序中相应级别的日志信息的开关。比如在这里定义了INFO级别,则应用程序中所有DEBUG

              级别的日志信息将不被打印出来,也是说大于等于的级别的日志才输出。

       如上图所示我们quartz的日志级别是debug,所以关闭quartz日志,在配置文件log4j.properties中设置quartz的日志级

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是使用springboot+quartz项目启动后立即触发执行任务的代码示例: 1. 在pom.xml中添加quartz的依赖 ```xml <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.3.2</version> </dependency> ``` 2. 在application.yml中配置quartz的相关信息 ```yml spring: quartz: job-store-type: MEMORY properties: org: quartz: scheduler: instanceName: MyScheduler instanceId: AUTO jobStore: class: org.quartz.simpl.RAMJobStore threadPool: class: org.quartz.simpl.SimpleThreadPool threadCount: 5 threadPriority: 5 ``` 3. 创建一个Job类,用于执行定时任务 ```java public class MyJob implements Job { @Override public void execute(JobExecutionContext context) throws JobExecutionException { System.out.println("Hello, Quartz!"); } } ``` 4. 创建一个Trigger类,用于触发定时任务 ```java public class MyTrigger { public static Trigger createTrigger() { return TriggerBuilder.newTrigger() .withIdentity("MyTrigger", "MyGroup") .startNow() .build(); } } ``` 5. 创建一个Scheduler类,用于调度定时任务 ```java @Configuration public class QuartzConfig { @Autowired private ApplicationContext applicationContext; @Bean public JobDetail myJobDetail() { return JobBuilder.newJob(MyJob.class) .withIdentity("MyJob", "MyGroup") .storeDurably(true) .build(); } @Bean public SchedulerFactoryBean schedulerFactoryBean() throws IOException { SchedulerFactoryBean factory = new SchedulerFactoryBean(); factory.setApplicationContextSchedulerContextKey("applicationContext"); factory.setConfigLocation(new ClassPathResource("quartz.properties")); factory.setJobFactory(springBeanJobFactory()); return factory; } @Bean public SpringBeanJobFactory springBeanJobFactory() { AutowiringSpringBeanJobFactory jobFactory = new AutowiringSpringBeanJobFactory(); jobFactory.setApplicationContext(applicationContext); return jobFactory; } @Bean public Scheduler scheduler() throws IOException { Scheduler scheduler = schedulerFactoryBean().getScheduler(); scheduler.setJobFactory(springBeanJobFactory()); scheduler.scheduleJob(myJobDetail(), MyTrigger.createTrigger()); scheduler.start(); return scheduler; } } ``` 6. 最后,启动springboot应用程序,即可观察到控制台输出"Hello, Quartz!",表示定时任务已经被执行。 注意:在上述代码中,我们使用了SpringBeanJobFactory类,它可以将Job类中通过@Autowired注入的Spring组件自动注入到Job类中。如果您的Job类没有依赖Spring组件,则无需使用该类。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值