mirror of
https://gitee.com/ssssssss-team/magic-api.git
synced 2026-06-04 04:49:30 +08:00
优化log模块日志显示,将类名改为接口+路径
This commit is contained in:
@@ -59,9 +59,9 @@ import org.ssssssss.magicapi.utils.ClassScanner;
|
||||
import org.ssssssss.magicapi.utils.Mapping;
|
||||
import org.ssssssss.magicapi.utils.PathUtils;
|
||||
import org.ssssssss.script.MagicResourceLoader;
|
||||
import org.ssssssss.script.MagicScript;
|
||||
import org.ssssssss.script.MagicScriptEngine;
|
||||
import org.ssssssss.script.exception.MagicScriptRuntimeException;
|
||||
import org.ssssssss.script.functions.DynamicModuleImport;
|
||||
import org.ssssssss.script.functions.ExtensionMethod;
|
||||
import org.ssssssss.script.parsing.ast.statement.AsyncCall;
|
||||
import org.ssssssss.script.reflection.JavaReflection;
|
||||
@@ -459,7 +459,7 @@ public class MagicAPIAutoConfiguration implements WebMvcConfigurer, WebSocketCon
|
||||
}).orElse(null)
|
||||
);
|
||||
logger.info("注册模块:{} -> {}", "log", Logger.class);
|
||||
MagicResourceLoader.addModule("log", LoggerFactory.getLogger(MagicScript.class));
|
||||
MagicResourceLoader.addModule("log", (DynamicModuleImport) context -> LoggerFactory.getLogger(context.getScriptName()));
|
||||
List<String> importModules = properties.getAutoImportModuleList();
|
||||
logger.info("注册模块:{} -> {}", "env", EnvModule.class);
|
||||
MagicResourceLoader.addModule("env", new EnvModule(environment));
|
||||
|
||||
@@ -39,12 +39,14 @@ public class MagicFunctionManager {
|
||||
public void registerFunctionLoader() {
|
||||
MagicResourceLoader.addFunctionLoader((path) -> {
|
||||
FunctionInfo info = mappings.get(path);
|
||||
String scriptName = groupServiceProvider.getScriptName(info.getId(), info.getName(), info.getPath());
|
||||
if (info != null) {
|
||||
List<Parameter> parameters = info.getParameters();
|
||||
return (Function<Object[], Object>) objects -> {
|
||||
MagicScriptContext context = MagicScriptContext.get();
|
||||
try {
|
||||
MagicScriptContext functionContext = new MagicScriptContext(context.getRootVariables());
|
||||
functionContext.setScriptName(scriptName);
|
||||
MagicScriptContext.set(functionContext);
|
||||
if (objects != null) {
|
||||
for (int i = 0, len = objects.length, size = parameters.size(); i < len && i < size; i++) {
|
||||
|
||||
@@ -353,6 +353,8 @@ public class RequestHandler extends MagicController {
|
||||
if (wrap != null && StringUtils.isNotBlank(wrap.toString())) {
|
||||
context.set(wrap.toString(), requestEntity.getParameters());
|
||||
}
|
||||
ApiInfo info = requestEntity.getApiInfo();
|
||||
context.setScriptName(configuration.getGroupServiceProvider().getScriptName(info.getGroupId(), info.getName(), info.getPath()));
|
||||
context.putMapIntoContext(requestEntity.getParameters());
|
||||
context.putMapIntoContext(requestEntity.getPathVariables());
|
||||
context.set(VAR_NAME_COOKIE, new CookieContext(requestEntity.getRequest()));
|
||||
|
||||
@@ -3,9 +3,9 @@ package org.ssssssss.magicapi.provider;
|
||||
import org.ssssssss.magicapi.adapter.Resource;
|
||||
import org.ssssssss.magicapi.model.Group;
|
||||
import org.ssssssss.magicapi.model.TreeNode;
|
||||
import org.ssssssss.magicapi.utils.PathUtils;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
|
||||
public interface GroupServiceProvider {
|
||||
@@ -67,4 +67,8 @@ public interface GroupServiceProvider {
|
||||
Resource getGroupResource(String groupId);
|
||||
|
||||
List<String> getGroupsWithoutGroups(List<String> groupIds);
|
||||
|
||||
default String getScriptName(String groupId, String name, String path) {
|
||||
return PathUtils.replaceSlash("/" + getFullName(groupId) + "/" + name) + "(" + PathUtils.replaceSlash(getFullPath(groupId) + "/" + path) + ")";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -121,6 +121,7 @@ public class DefaultMagicAPIService implements MagicAPIService, JsonCodeConstant
|
||||
MagicScriptContext newContext = new MagicScriptContext();
|
||||
Map<String, Object> varMap = new LinkedHashMap<>(context.getRootVariables());
|
||||
varMap.putAll(variables.getVariables());
|
||||
newContext.setScriptName(groupServiceProvider.getScriptName(info.getId(), info.getName(), info.getPath()));
|
||||
newContext.putMapIntoContext(varMap);
|
||||
MagicScriptContext.set(newContext);
|
||||
try {
|
||||
@@ -145,6 +146,7 @@ public class DefaultMagicAPIService implements MagicAPIService, JsonCodeConstant
|
||||
final MagicScriptContext magicScriptContext = MagicScriptContext.get();
|
||||
|
||||
MagicScriptContext scriptContext = new MagicScriptContext();
|
||||
scriptContext.setScriptName(groupServiceProvider.getScriptName(info.getGroupId(), info.getName(), info.getPath()));
|
||||
scriptContext.putMapIntoContext(context);
|
||||
SimpleScriptContext simpleScriptContext = new SimpleScriptContext();
|
||||
simpleScriptContext.setAttribute(MagicScript.CONTEXT_ROOT, scriptContext, ScriptContext.ENGINE_SCOPE);
|
||||
@@ -189,6 +191,7 @@ public class DefaultMagicAPIService implements MagicAPIService, JsonCodeConstant
|
||||
throw new MagicServiceException(String.format("找不到对应函数 [%s]", path));
|
||||
}
|
||||
MagicScriptContext scriptContext = new MagicScriptContext(context);
|
||||
scriptContext.setScriptName(groupServiceProvider.getScriptName(functionInfo.getGroupId(), functionInfo.getName(), functionInfo.getPath()));
|
||||
scriptContext.putMapIntoContext(context);
|
||||
SimpleScriptContext simpleScriptContext = new SimpleScriptContext();
|
||||
simpleScriptContext.setAttribute(MagicScript.CONTEXT_ROOT, scriptContext, ScriptContext.ENGINE_SCOPE);
|
||||
|
||||
Reference in New Issue
Block a user