From f45890bf6e458df3b8248e7b73becb5242ade87d Mon Sep 17 00:00:00 2001 From: ShrBox Date: Tue, 23 Jan 2024 18:02:26 +0800 Subject: [PATCH] fix: debug command --- src/api/EventAPI.cpp | 10 ++++++++-- src/main/BuiltinCommands.cpp | 14 ++++++++------ src/main/ScriptEngine.cpp | 2 +- 3 files changed, 17 insertions(+), 9 deletions(-) diff --git a/src/api/EventAPI.cpp b/src/api/EventAPI.cpp index 67d993c6..eb4f7587 100644 --- a/src/api/EventAPI.cpp +++ b/src/api/EventAPI.cpp @@ -1366,7 +1366,10 @@ void InitBasicEventListeners() { if (ev.commandContext().getCommandOrigin().getOriginType() == CommandOriginType::DedicatedServer) { std::string cmd = ev.commandContext().mCommand.erase(0, 1); - if (!ProcessDebugEngine(cmd)) return false; + if (!ProcessDebugEngine(cmd)) { + ev.cancel(); + return false; + } #ifdef LLSE_BACKEND_NODEJS if (!NodeJsHelper::processConsoleNpmCmd(ev.mCommand)) return false; #elif defined(LLSE_BACKEND_PYTHON) @@ -1383,7 +1386,10 @@ void InitBasicEventListeners() { bool callbackRes = CallServerCmdCallback(prefix, paras); IF_LISTENED(EVENT_TYPES::onConsoleCmd) { CallEvent(EVENT_TYPES::onConsoleCmd, String::newString(cmd)); } IF_LISTENED_END(EVENT_TYPES::onConsoleCmd); - if (!callbackRes) return false; + if (!callbackRes) { + ev.cancel(); + return false; + } } else { if (isFromOtherEngine) return false; diff --git a/src/main/BuiltinCommands.cpp b/src/main/BuiltinCommands.cpp index 8c6451b4..52f59d28 100644 --- a/src/main/BuiltinCommands.cpp +++ b/src/main/BuiltinCommands.cpp @@ -33,9 +33,10 @@ bool ProcessDebugEngine(const std::string& cmd) { if (cmd == "stop") { return true; } else { - auto result = debugEngine->eval(cmd); - PrintValue(std::cout, result); - std::cout << std::endl; + auto result = debugEngine->eval(cmd); + std::ostringstream sout; + PrintValue(sout, result); + logger.info(sout.str()); OUTPUT_DEBUG_SIGN(); } } catch (Exception& e) { @@ -63,9 +64,10 @@ void RegisterDebugCommand() { if (results["eval"].isSet) { EngineScope enter(debugEngine); try { - auto result = debugEngine->eval(results["eval"].getRaw()); - PrintValue(std::cout, result); - std::cout << std::endl; + auto result = debugEngine->eval(results["eval"].getRaw()); + std::ostringstream sout; + PrintValue(sout, result); + logger.info(sout.str()); } catch (Exception& e) { PrintException(e); } diff --git a/src/main/ScriptEngine.cpp b/src/main/ScriptEngine.cpp index b4e7560c..b098dfc9 100644 --- a/src/main/ScriptEngine.cpp +++ b/src/main/ScriptEngine.cpp @@ -27,7 +27,7 @@ #endif // Global vars -ll::Logger logger("LegacyScript"); +ll::Logger logger(LLSE_LOADER_NAME); extern void LoadDepends(); extern void LoadMain();