Kaynağa Gözat

调整日志显示

mxd 4 yıl önce
ebeveyn
işleme
2ab61f5808

+ 6 - 1
src/main/java/org/ssssssss/magicapi/controller/RequestHandler.java

@@ -5,6 +5,7 @@ import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.slf4j.event.Level;
 import org.springframework.core.io.InputStreamSource;
 import org.springframework.http.HttpHeaders;
 import org.springframework.http.MediaType;
@@ -23,6 +24,7 @@ import org.ssssssss.magicapi.context.HeaderContext;
 import org.ssssssss.magicapi.context.RequestContext;
 import org.ssssssss.magicapi.context.SessionContext;
 import org.ssssssss.magicapi.interceptor.RequestInterceptor;
+import org.ssssssss.magicapi.logging.LogInfo;
 import org.ssssssss.magicapi.logging.MagicLoggerContext;
 import org.ssssssss.magicapi.model.ApiInfo;
 import org.ssssssss.magicapi.model.JsonBean;
@@ -252,6 +254,9 @@ public class RequestHandler extends MagicController {
 		context.setTimeout(configuration.getDebugTimeout());
 		context.setId(sessionId);
 		context.onComplete(() -> {
+			if (context.isException()) {
+				MagicLoggerContext.println(new LogInfo(Level.ERROR.name().toLowerCase(), "执行脚本出错", (Throwable) context.getReturnValue()));
+			}
 			logger.info("Close Console Session : {}", sessionId);
 			RequestContext.remove();
 			MagicLoggerContext.remove(sessionId);
@@ -295,7 +300,7 @@ public class RequestHandler extends MagicController {
 						return converter.read(clazz, new ServletServerHttpRequest(request));
 					}
 				}
-			}catch (HttpMessageNotReadableException ignored) {
+			} catch (HttpMessageNotReadableException ignored) {
 				return null;
 			}
 		}

+ 1 - 1
src/main/java/org/ssssssss/magicapi/logging/Log4j2LoggerContext.java

@@ -52,7 +52,7 @@ public class Log4j2LoggerContext implements MagicLoggerContext{
 			if(throwableProxy != null){
 				logInfo.setThrowable(throwableProxy.getThrowable());
 			}
-			println(logInfo);
+			MagicLoggerContext.println(logInfo);
 		}
 	}
 }

+ 1 - 1
src/main/java/org/ssssssss/magicapi/logging/Log4jLoggerContext.java

@@ -32,7 +32,7 @@ public class Log4jLoggerContext implements MagicLoggerContext {
             if (throwableInformation != null) {
                 logInfo.setThrowable(throwableInformation.getThrowable());
             }
-            println(logInfo);
+            MagicLoggerContext.println(logInfo);
         }
 
         @Override

+ 9 - 0
src/main/java/org/ssssssss/magicapi/logging/LogInfo.java

@@ -17,6 +17,15 @@ public class LogInfo {
 
 	private String throwable;
 
+	public LogInfo() {
+	}
+
+	public LogInfo(String level, String message, Throwable throwable) {
+		this.level = level;
+		this.message = message;
+		this.setThrowable(throwable);
+	}
+
 	public String getLevel() {
 		return level;
 	}

+ 1 - 1
src/main/java/org/ssssssss/magicapi/logging/LogbackLoggerContext.java

@@ -34,7 +34,7 @@ public class LogbackLoggerContext implements MagicLoggerContext{
 			if(throwableProxy != null){
 				logInfo.setThrowable(throwableProxy.getThrowable());
 			}
-			println(logInfo);
+			MagicLoggerContext.println(logInfo);
 		}
 	}
 }

+ 1 - 1
src/main/java/org/ssssssss/magicapi/logging/MagicLoggerContext.java

@@ -46,7 +46,7 @@ public interface MagicLoggerContext {
 	 * 打印日志
 	 * @param logInfo 日志信息
 	 */
-	default void println(LogInfo logInfo){
+	static void println(LogInfo logInfo){
 		// 获取SessionId
 		MagicScriptContext context = MagicScriptContext.get();
 		String sessionId;