diff --git a/src/main/java/org/jabref/JabRefGUI.java b/src/main/java/org/jabref/JabRefGUI.java index 8e74b97ee30..57214d9ef9f 100644 --- a/src/main/java/org/jabref/JabRefGUI.java +++ b/src/main/java/org/jabref/JabRefGUI.java @@ -168,7 +168,7 @@ private void openWindow(Stage mainStage) { String message = Localization.lang("Error opening file '%0'.", pr.getFile().get().getName()) + "\n" + pr.getErrorMessage(); - JabRefGUI.mainFrame.getDialogService().showErrorDialogAndWait(Localization.lang("Error opening file"), message); + dialogService.showErrorDialogAndWait(Localization.lang("Error opening file"), message); } diff --git a/src/main/java/org/jabref/gui/logging/GuiAppender.java b/src/main/java/org/jabref/gui/logging/GuiAppender.java index d6a6f25ebd6..4d5956b94c5 100644 --- a/src/main/java/org/jabref/gui/logging/GuiAppender.java +++ b/src/main/java/org/jabref/gui/logging/GuiAppender.java @@ -13,6 +13,7 @@ import org.apache.logging.log4j.core.config.plugins.PluginAttribute; import org.apache.logging.log4j.core.config.plugins.PluginElement; import org.apache.logging.log4j.core.config.plugins.PluginFactory; +import org.apache.logging.log4j.core.impl.MutableLogEvent; import org.apache.logging.log4j.core.layout.PatternLayout; @Plugin(name = "GuiAppender", category = "Core", elementType = "appender", printObject = true) @@ -44,6 +45,9 @@ public static GuiAppender createAppender(@PluginAttribute("name") String name, */ @Override public void append(LogEvent event) { - DefaultTaskExecutor.runInJavaFXThread(() -> LogMessages.getInstance().add(event)); + // We need to make a copy as instances of LogEvent are reused by log4j + MutableLogEvent copy = new MutableLogEvent(); + copy.initFrom(event); + DefaultTaskExecutor.runInJavaFXThread(() -> LogMessages.getInstance().add(copy)); } } diff --git a/src/main/java/org/jabref/logic/logging/LogMessages.java b/src/main/java/org/jabref/logic/logging/LogMessages.java index 06f10f1c3eb..053252b6e1f 100644 --- a/src/main/java/org/jabref/logic/logging/LogMessages.java +++ b/src/main/java/org/jabref/logic/logging/LogMessages.java @@ -4,7 +4,6 @@ import javafx.collections.ObservableList; import org.apache.logging.log4j.core.LogEvent; -import org.apache.logging.log4j.core.impl.MutableLogEvent; /** * This class is used for storing and archiving all message output of JabRef as log events. @@ -28,10 +27,7 @@ public ObservableList getMessages() { } public void add(LogEvent event) { - // We need to make a copy as instances of LogEvent are reused by log4j - MutableLogEvent copy = new MutableLogEvent(); - copy.initFrom(event); - messages.add(copy); + messages.add(event); } public void clear() {