From 8b8c4fff72bb2bb957bd3e0deb5af899cf125361 Mon Sep 17 00:00:00 2001 From: dorving Date: Tue, 12 Jul 2022 01:39:01 +0200 Subject: [PATCH] Added dedicated loggers for each extension if logger flag is set --- .../executer/NormalExtensionRunner.java | 29 ++++++++++--------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/G-Earth/src/main/java/gearth/services/extension_handler/extensions/implementations/network/executer/NormalExtensionRunner.java b/G-Earth/src/main/java/gearth/services/extension_handler/extensions/implementations/network/executer/NormalExtensionRunner.java index 15b5228..4f3a113 100644 --- a/G-Earth/src/main/java/gearth/services/extension_handler/extensions/implementations/network/executer/NormalExtensionRunner.java +++ b/G-Earth/src/main/java/gearth/services/extension_handler/extensions/implementations/network/executer/NormalExtensionRunner.java @@ -12,7 +12,9 @@ import java.io.IOException; import java.io.InputStreamReader; import java.net.URISyntaxException; import java.net.URL; -import java.nio.file.*; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; import java.util.Arrays; import java.util.Random; @@ -41,7 +43,7 @@ public final class NormalExtensionRunner implements ExtensionRunner { @Override public void runAllExtensions(int port) { - if (dirExists(ExecutionInfo.EXTENSIONS_DIRECTORY)){ + if (dirExists(ExecutionInfo.EXTENSIONS_DIRECTORY)) { final File extensionsDirectory = Paths.get(JAR_PATH, ExecutionInfo.EXTENSIONS_DIRECTORY).toFile(); final File[] extensionFiles = extensionsDirectory.listFiles(); @@ -68,7 +70,7 @@ public final class NormalExtensionRunner implements ExtensionRunner { final String[] split = name.split("\\."); final String ext = "*." + split[split.length - 1]; - final String realName = String.join(".",Arrays.copyOf(split, split.length-1)); + final String realName = String.join(".", Arrays.copyOf(split, split.length - 1)); final String newName = realName + "-" + getRandomString() + ext.substring(1); final Path newPath = Paths.get(JAR_PATH, ExecutionInfo.EXTENSIONS_DIRECTORY, newName); @@ -101,7 +103,7 @@ public final class NormalExtensionRunner implements ExtensionRunner { for (int i = 0; i < execCommand.length; i++) { execCommand[i] = execCommand[i] .replace("{path}", path) - .replace("{port}", port+"") + .replace("{port}", port + "") .replace("{filename}", filename) .replace("{cookie}", cookie); } @@ -110,36 +112,37 @@ public final class NormalExtensionRunner implements ExtensionRunner { final Process process = processBuilder.start(); maybeLogExtension(path, process); + } catch (IOException e) { LOGGER.error("Failed to run extension at path {} using port {}", path, port, e); } } + public static void maybeLogExtension(String path, Process process) { if (GEarth.hasFlag(ExtensionRunner.SHOW_EXTENSIONS_LOG)) { - final String separator = "" + System.lineSeparator(); - LOGGER.info(path + separator + "Launching" + separator + "----------" + separator); + final Logger logger = LoggerFactory.getLogger(path); + + logger.info("Launching..."); final BufferedReader processInputReader = new BufferedReader(new InputStreamReader(process.getInputStream())); - new Thread(() -> { try { String line; - while((line = processInputReader.readLine()) != null) - LOGGER.info(path + separator + "Output" + separator + line + separator + "----------" + separator); + while ((line = processInputReader.readLine()) != null) + logger.info(line); } catch (IOException e) { LOGGER.error("Failed to read input line from process {}", process, e); } - }).start(); + }, path+"-input").start(); final BufferedReader processErrorReader = new BufferedReader(new InputStreamReader(process.getErrorStream())); new Thread(() -> { try { String line; - while((line = processErrorReader.readLine()) != null) { - LOGGER.error(path + separator + "Error" + separator + line + separator + "----------" + separator); - } + while ((line = processErrorReader.readLine()) != null) + logger.error(line); } catch (IOException e) { LOGGER.error("Failed to read error line from process {}", process, e); }