소스 검색

新增`magic-api.task.log`开关,用于控制定时任务是否打印日志

jmxd 2 년 전
부모
커밋
d7685a345a

+ 10 - 3
magic-api-plugins/magic-api-plugin-task/src/main/java/org/ssssssss/magicapi/task/service/TaskMagicDynamicRegistry.java

@@ -23,9 +23,12 @@ public class TaskMagicDynamicRegistry extends AbstractMagicDynamicRegistry<TaskI
 
 
 	private static final Logger logger = LoggerFactory.getLogger(TaskMagicDynamicRegistry.class);
 	private static final Logger logger = LoggerFactory.getLogger(TaskMagicDynamicRegistry.class);
 
 
-	public TaskMagicDynamicRegistry(MagicResourceStorage<TaskInfo> magicResourceStorage, TaskScheduler taskScheduler) {
+	private final boolean showLog;
+
+	public TaskMagicDynamicRegistry(MagicResourceStorage<TaskInfo> magicResourceStorage, TaskScheduler taskScheduler, boolean showLog) {
 		super(magicResourceStorage);
 		super(magicResourceStorage);
 		this.taskScheduler = taskScheduler;
 		this.taskScheduler = taskScheduler;
+		this.showLog = showLog;
 	}
 	}
 
 
 	@EventListener(condition = "#event.type == 'task'")
 	@EventListener(condition = "#event.type == 'task'")
@@ -54,14 +57,18 @@ public class TaskMagicDynamicRegistry extends AbstractMagicDynamicRegistry<TaskI
 				CronTask cronTask = new CronTask(() -> {
 				CronTask cronTask = new CronTask(() -> {
 					if (entity.isEnabled()) {
 					if (entity.isEnabled()) {
 						try {
 						try {
-							logger.info("定时任务:[{}]开始执行", scriptName);
+							if (showLog) {
+								logger.info("定时任务:[{}]开始执行", scriptName);
+							}
 							MagicScriptContext magicScriptContext = new MagicScriptContext();
 							MagicScriptContext magicScriptContext = new MagicScriptContext();
 							magicScriptContext.setScriptName(scriptName);
 							magicScriptContext.setScriptName(scriptName);
 							ScriptManager.executeScript(entity.getScript(), magicScriptContext);
 							ScriptManager.executeScript(entity.getScript(), magicScriptContext);
 						} catch (Exception e) {
 						} catch (Exception e) {
 							logger.error("定时任务执行出错", e);
 							logger.error("定时任务执行出错", e);
 						} finally {
 						} finally {
-							logger.info("定时任务:[{}]执行完毕", scriptName);
+							if (showLog) {
+								logger.info("定时任务:[{}]执行完毕", scriptName);
+							}
 						}
 						}
 					}
 					}
 				}, trigger);
 				}, trigger);

+ 1 - 1
magic-api-plugins/magic-api-plugin-task/src/main/java/org/ssssssss/magicapi/task/starter/MagicAPITaskConfiguration.java

@@ -43,7 +43,7 @@ public class MagicAPITaskConfiguration implements MagicPluginConfiguration {
 			poolTaskScheduler.setThreadNamePrefix(config.getThreadNamePrefix());
 			poolTaskScheduler.setThreadNamePrefix(config.getThreadNamePrefix());
 			poolTaskScheduler.initialize();
 			poolTaskScheduler.initialize();
 		}
 		}
-		return new TaskMagicDynamicRegistry(taskInfoMagicResourceStorage, poolTaskScheduler);
+		return new TaskMagicDynamicRegistry(taskInfoMagicResourceStorage, poolTaskScheduler, config.isLog());
 	}
 	}
 
 
 	@Override
 	@Override

+ 14 - 0
magic-api-plugins/magic-api-plugin-task/src/main/java/org/ssssssss/magicapi/task/starter/MagicTaskConfig.java

@@ -13,6 +13,12 @@ public class MagicTaskConfig {
 	 */
 	 */
 	private boolean enable = true;
 	private boolean enable = true;
 
 
+	/**
+	 * 是否打印日志
+	 * @since 2.1.0
+	 */
+	private boolean log = false;
+
 	/**
 	/**
 	 * 线程池相关配置
 	 * 线程池相关配置
 	 */
 	 */
@@ -28,6 +34,14 @@ public class MagicTaskConfig {
 	 */
 	 */
 	private String threadNamePrefix = "magic-task-";
 	private String threadNamePrefix = "magic-task-";
 
 
+	public boolean isLog() {
+		return log;
+	}
+
+	public void setLog(boolean log) {
+		this.log = log;
+	}
+
 	public Pool getPool() {
 	public Pool getPool() {
 		return this.pool;
 		return this.pool;
 	}
 	}