From 1e7231af57c4beebde32c4cf304cc3fa88d4039d Mon Sep 17 00:00:00 2001 From: SashegDev Date: Fri, 8 May 2026 17:36:49 +0000 Subject: [PATCH] Debug: add stdout/stderr capture, log game logs to console --- .../zernmc/launcher/api/launch/LaunchService.java | 14 ++++++++++---- .../zernmc/launcher/ui/jfx/JFXLauncher.java | 1 + 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/launcher/launcher/src/main/java/sashegdev/zernmc/launcher/api/launch/LaunchService.java b/launcher/launcher/src/main/java/sashegdev/zernmc/launcher/api/launch/LaunchService.java index f89e79c..921b56f 100644 --- a/launcher/launcher/src/main/java/sashegdev/zernmc/launcher/api/launch/LaunchService.java +++ b/launcher/launcher/src/main/java/sashegdev/zernmc/launcher/api/launch/LaunchService.java @@ -62,32 +62,38 @@ public class LaunchService { ProcessBuilder processBuilder = new ProcessBuilder(command); processBuilder.directory(instance.getPath().toFile()); + processBuilder.redirectErrorStream(true); Process process = processBuilder.start(); + System.out.println("[LAUNCH] Process started, pid=" + process.pid()); - // Capture output + // Capture output (stdout) Thread outThread = new Thread(() -> { try (BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()))) { String line; while ((line = reader.readLine()) != null) { + System.out.println("[STDOUT] " + line); JFXLauncher.appendGameLog(line); } } catch (Exception e) { - JFXLauncher.appendGameLog("[Ошибка чтения вывода: " + e.getMessage() + "]"); + System.out.println("[STDOUT ERROR] " + e.getMessage()); + JFXLauncher.appendGameLog("[Ошибка чтения вывода: " + e.getMessage()); } }); outThread.setDaemon(true); outThread.start(); - // Capture errors + // Capture errors (stderr) Thread errThread = new Thread(() -> { try (BufferedReader reader = new BufferedReader(new InputStreamReader(process.getErrorStream()))) { String line; while ((line = reader.readLine()) != null) { + System.out.println("[STDERR] " + line); JFXLauncher.appendGameLog("[ERR] " + line); } } catch (Exception e) { - JFXLauncher.appendGameLog("[Ошибка чтения ошибок: " + e.getMessage() + "]"); + System.out.println("[STDERR ERROR] " + e.getMessage()); + JFXLauncher.appendGameLog("[Ошибка чтения ошибок: " + e.getMessage()); } }); errThread.setDaemon(true); diff --git a/launcher/launcher/src/main/java/sashegdev/zernmc/launcher/ui/jfx/JFXLauncher.java b/launcher/launcher/src/main/java/sashegdev/zernmc/launcher/ui/jfx/JFXLauncher.java index 7bb6bb3..7e295af 100644 --- a/launcher/launcher/src/main/java/sashegdev/zernmc/launcher/ui/jfx/JFXLauncher.java +++ b/launcher/launcher/src/main/java/sashegdev/zernmc/launcher/ui/jfx/JFXLauncher.java @@ -41,6 +41,7 @@ public class JFXLauncher extends Application { private Stage mainStage; public static void appendGameLog(String log) { + System.out.println("[GAMELOG] " + log); synchronized (gameLogBuffer) { gameLogBuffer.append(log).append("\n");