From b739694c93ecbfa46c60133a230e7dda1d54cd95 Mon Sep 17 00:00:00 2001 From: Oleg Agafonov Date: Sun, 5 Sep 2021 22:25:42 +0400 Subject: [PATCH] Server: added stack info to logs for rollback error; --- Mage/src/main/java/mage/game/GameImpl.java | 4 ++++ Mage/src/main/java/mage/game/stack/StackAbility.java | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/Mage/src/main/java/mage/game/GameImpl.java b/Mage/src/main/java/mage/game/GameImpl.java index 925f2e57895..c07465a3335 100644 --- a/Mage/src/main/java/mage/game/GameImpl.java +++ b/Mage/src/main/java/mage/game/GameImpl.java @@ -1547,6 +1547,10 @@ public abstract class GameImpl implements Game { } this.fireErrorEvent("Game exception occurred: ", ex); + // stack info + String info = this.getStack().stream().map(MageObject::toString).collect(Collectors.joining("\n")); + logger.info(String.format("\nStack before error %d: \n%s\n", this.getStack().size(), info)); + // rollback game to prev state GameState restoredState = restoreState(rollbackBookmark, "Game exception: " + ex.getMessage()); rollbackBookmark = 0; diff --git a/Mage/src/main/java/mage/game/stack/StackAbility.java b/Mage/src/main/java/mage/game/stack/StackAbility.java index adb78a1a7e2..98df1330603 100644 --- a/Mage/src/main/java/mage/game/stack/StackAbility.java +++ b/Mage/src/main/java/mage/game/stack/StackAbility.java @@ -738,4 +738,8 @@ public class StackAbility extends StackObjectImpl implements Ability { throw new UnsupportedOperationException("Not supported."); } + @Override + public String toString() { + return this.name; + } }