提交 d7685a34 编写于 作者: J jmxd

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

上级 1bf5769a
......@@ -23,9 +23,12 @@ public class TaskMagicDynamicRegistry extends AbstractMagicDynamicRegistry<TaskI
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);
this.taskScheduler = taskScheduler;
this.showLog = showLog;
}
@EventListener(condition = "#event.type == 'task'")
......@@ -54,14 +57,18 @@ public class TaskMagicDynamicRegistry extends AbstractMagicDynamicRegistry<TaskI
CronTask cronTask = new CronTask(() -> {
if (entity.isEnabled()) {
try {
logger.info("定时任务:[{}]开始执行", scriptName);
if (showLog) {
logger.info("定时任务:[{}]开始执行", scriptName);
}
MagicScriptContext magicScriptContext = new MagicScriptContext();
magicScriptContext.setScriptName(scriptName);
ScriptManager.executeScript(entity.getScript(), magicScriptContext);
} catch (Exception e) {
logger.error("定时任务执行出错", e);
} finally {
logger.info("定时任务:[{}]执行完毕", scriptName);
if (showLog) {
logger.info("定时任务:[{}]执行完毕", scriptName);
}
}
}
}, trigger);
......
......@@ -43,7 +43,7 @@ public class MagicAPITaskConfiguration implements MagicPluginConfiguration {
poolTaskScheduler.setThreadNamePrefix(config.getThreadNamePrefix());
poolTaskScheduler.initialize();
}
return new TaskMagicDynamicRegistry(taskInfoMagicResourceStorage, poolTaskScheduler);
return new TaskMagicDynamicRegistry(taskInfoMagicResourceStorage, poolTaskScheduler, config.isLog());
}
@Override
......
......@@ -13,6 +13,12 @@ public class MagicTaskConfig {
*/
private boolean enable = true;
/**
* 是否打印日志
* @since 2.1.0
*/
private boolean log = false;
/**
* 线程池相关配置
*/
......@@ -28,6 +34,14 @@ public class MagicTaskConfig {
*/
private String threadNamePrefix = "magic-task-";
public boolean isLog() {
return log;
}
public void setLog(boolean log) {
this.log = log;
}
public Pool getPool() {
return this.pool;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册