diff --git a/admin/oss/jailer-engine.pom b/admin/oss/jailer-engine.pom
index 196b992b0..7be831231 100644
--- a/admin/oss/jailer-engine.pom
+++ b/admin/oss/jailer-engine.pom
@@ -51,9 +51,9 @@
1.4.199
- log4j
- log4j
- 1.2.17
+ org.apache.logging.log4j
+ log4j-slf4j-impl
+ 2.17.2
diff --git a/config/log4j2.xml b/config/log4j2.xml
new file mode 100644
index 000000000..83e0a5a70
--- /dev/null
+++ b/config/log4j2.xml
@@ -0,0 +1,54 @@
+
+
+
+
+
+
+
+
+ %d [%t] %-5p - %m%n
+
+
+
+
+
+
+
+
+ %d [%t] %-5p - %m%n
+
+
+
+
+
+
+
+
+ %d [%t] %-5p - %m%n
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/lib/log4j-api-2.17.2.jar b/lib/log4j-api-2.17.2.jar
new file mode 100644
index 000000000..16d9061d3
Binary files /dev/null and b/lib/log4j-api-2.17.2.jar differ
diff --git a/lib/log4j-core-2.17.2.jar b/lib/log4j-core-2.17.2.jar
new file mode 100644
index 000000000..0fd005143
Binary files /dev/null and b/lib/log4j-core-2.17.2.jar differ
diff --git a/lib/log4j-slf4j-impl-2.17.2.jar b/lib/log4j-slf4j-impl-2.17.2.jar
new file mode 100644
index 000000000..a5cc3961a
Binary files /dev/null and b/lib/log4j-slf4j-impl-2.17.2.jar differ
diff --git a/lib/slf4j-api-1.7.25.jar b/lib/slf4j-api-1.7.25.jar
new file mode 100644
index 000000000..0143c0996
Binary files /dev/null and b/lib/slf4j-api-1.7.25.jar differ
diff --git a/src/main/engine/net/sf/jailer/Jailer.java b/src/main/engine/net/sf/jailer/Jailer.java
index 8efafe41d..da9367516 100644
--- a/src/main/engine/net/sf/jailer/Jailer.java
+++ b/src/main/engine/net/sf/jailer/Jailer.java
@@ -31,7 +31,8 @@ import java.util.logging.LogManager;
import javax.sql.DataSource;
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import net.sf.jailer.configuration.Configuration;
import net.sf.jailer.configuration.DBMS;
@@ -87,7 +88,7 @@ public class Jailer {
*/
private static synchronized Logger getLogger() {
if (logger == null) {
- logger = Logger.getLogger(Jailer.class);
+ logger = LoggerFactory.getLogger(Jailer.class);
}
return logger;
}
diff --git a/src/main/engine/net/sf/jailer/database/BasicDataSource.java b/src/main/engine/net/sf/jailer/database/BasicDataSource.java
index ed4f1dcc3..3f8d8e879 100644
--- a/src/main/engine/net/sf/jailer/database/BasicDataSource.java
+++ b/src/main/engine/net/sf/jailer/database/BasicDataSource.java
@@ -32,7 +32,8 @@ import java.util.regex.Pattern;
import javax.sql.DataSource;
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import net.sf.jailer.configuration.Configuration;
import net.sf.jailer.configuration.Configuration.UrlRewriteRule;
@@ -48,7 +49,7 @@ public class BasicDataSource implements DataSource {
/**
* The logger.
*/
- private static final Logger _log = Logger.getLogger(BasicDataSource.class);
+ private static final Logger _log = LoggerFactory.getLogger(BasicDataSource.class);
/**
* Name of JDBC-driver class.
diff --git a/src/main/engine/net/sf/jailer/database/Session.java b/src/main/engine/net/sf/jailer/database/Session.java
index 6b0bac3b2..adbd265d9 100644
--- a/src/main/engine/net/sf/jailer/database/Session.java
+++ b/src/main/engine/net/sf/jailer/database/Session.java
@@ -41,7 +41,8 @@ import java.util.concurrent.atomic.AtomicBoolean;
import javax.sql.DataSource;
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import net.sf.jailer.configuration.Configuration;
import net.sf.jailer.configuration.DBMS;
@@ -183,7 +184,7 @@ public class Session {
/**
* The logger.
*/
- public static final Logger _log = Logger.getLogger("sql");
+ public static final Logger _log = LoggerFactory.getLogger("sql");
/**
* Connection factory.
diff --git a/src/main/engine/net/sf/jailer/database/ShellScriptBasedStatisticRenovator.java b/src/main/engine/net/sf/jailer/database/ShellScriptBasedStatisticRenovator.java
index c8ae3343d..d302b8295 100644
--- a/src/main/engine/net/sf/jailer/database/ShellScriptBasedStatisticRenovator.java
+++ b/src/main/engine/net/sf/jailer/database/ShellScriptBasedStatisticRenovator.java
@@ -19,7 +19,8 @@ package net.sf.jailer.database;
import java.io.BufferedReader;
import java.io.InputStreamReader;
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import net.sf.jailer.ExecutionContext;
@@ -39,7 +40,7 @@ public class ShellScriptBasedStatisticRenovator implements StatisticRenovator {
/**
* The logger.
*/
- private static final Logger _log = Logger.getLogger(ShellScriptBasedStatisticRenovator.class);
+ private static final Logger _log = LoggerFactory.getLogger(ShellScriptBasedStatisticRenovator.class);
/**
* Constructor.
diff --git a/src/main/engine/net/sf/jailer/datamodel/DataModel.java b/src/main/engine/net/sf/jailer/datamodel/DataModel.java
index 4c441a3ef..94bc1521d 100644
--- a/src/main/engine/net/sf/jailer/datamodel/DataModel.java
+++ b/src/main/engine/net/sf/jailer/datamodel/DataModel.java
@@ -42,7 +42,8 @@ import java.util.SortedSet;
import java.util.TreeMap;
import java.util.TreeSet;
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import net.sf.jailer.ExecutionContext;
import net.sf.jailer.JailerVersion;
@@ -228,7 +229,7 @@ public class DataModel {
/**
* The logger.
*/
- private static final Logger _log = Logger.getLogger(DataModel.class);
+ private static final Logger _log = LoggerFactory.getLogger(DataModel.class);
/**
* Gets a table by name.
@@ -415,7 +416,7 @@ public class DataModel {
try {
pk.add(Column.parse(newName, col));
} catch (Exception e) {
- _log.warn(e);
+ _log.warn("", e);
// ignore, was throw new RuntimeException("unable to load table '" + line.cells.get(0) + "'. " + line.location, e);
}
}
diff --git a/src/main/engine/net/sf/jailer/entitygraph/intradatabase/IntraDatabaseEntityGraph.java b/src/main/engine/net/sf/jailer/entitygraph/intradatabase/IntraDatabaseEntityGraph.java
index 6c5bad294..fbfc5c47a 100644
--- a/src/main/engine/net/sf/jailer/entitygraph/intradatabase/IntraDatabaseEntityGraph.java
+++ b/src/main/engine/net/sf/jailer/entitygraph/intradatabase/IntraDatabaseEntityGraph.java
@@ -332,7 +332,7 @@ public class IntraDatabaseEntityGraph extends RemoteEntityGraph {
// try upsert
return upsertRows(table, sqlSelect, true);
} catch (Exception uEx) {
- Session._log.warn(uEx);
+ Session._log.warn("", uEx);
LogUtil.warn(uEx);
// throw original exception
throw e;
diff --git a/src/main/engine/net/sf/jailer/extractionmodel/ExtractionModel.java b/src/main/engine/net/sf/jailer/extractionmodel/ExtractionModel.java
index 05f300971..3401ed817 100644
--- a/src/main/engine/net/sf/jailer/extractionmodel/ExtractionModel.java
+++ b/src/main/engine/net/sf/jailer/extractionmodel/ExtractionModel.java
@@ -27,7 +27,8 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import net.sf.jailer.ExecutionContext;
import net.sf.jailer.datamodel.AggregationSchema;
@@ -58,7 +59,7 @@ public class ExtractionModel {
/**
* The logger.
*/
- private static final Logger _log = Logger.getLogger(ExtractionModel.class);
+ private static final Logger _log = LoggerFactory.getLogger(ExtractionModel.class);
/**
* The table to read from.
diff --git a/src/main/engine/net/sf/jailer/modelbuilder/JDBCMetaDataBasedModelElementFinder.java b/src/main/engine/net/sf/jailer/modelbuilder/JDBCMetaDataBasedModelElementFinder.java
index 709848c45..1c50d9561 100644
--- a/src/main/engine/net/sf/jailer/modelbuilder/JDBCMetaDataBasedModelElementFinder.java
+++ b/src/main/engine/net/sf/jailer/modelbuilder/JDBCMetaDataBasedModelElementFinder.java
@@ -35,7 +35,8 @@ import java.util.Map.Entry;
import java.util.Set;
import java.util.TreeMap;
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import net.sf.jailer.ExecutionContext;
import net.sf.jailer.configuration.DBMS;
@@ -84,7 +85,7 @@ public class JDBCMetaDataBasedModelElementFinder implements ModelElementFinder {
/**
* The logger.
*/
- private static final Logger _log = Logger.getLogger(JDBCMetaDataBasedModelElementFinder.class);
+ private static final Logger _log = LoggerFactory.getLogger(JDBCMetaDataBasedModelElementFinder.class);
/**
* Set of sql types (uppercase) not listed in {@link Types} which needs a length argument.
diff --git a/src/main/engine/net/sf/jailer/modelbuilder/MetaDataCache.java b/src/main/engine/net/sf/jailer/modelbuilder/MetaDataCache.java
index b1a9f395d..c0c83c052 100644
--- a/src/main/engine/net/sf/jailer/modelbuilder/MetaDataCache.java
+++ b/src/main/engine/net/sf/jailer/modelbuilder/MetaDataCache.java
@@ -27,7 +27,8 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import net.sf.jailer.configuration.DBMS;
import net.sf.jailer.database.Session;
@@ -44,7 +45,7 @@ public class MetaDataCache {
/**
* The logger.
*/
- private static final Logger _log = Logger.getLogger(MetaDataCache.class);
+ private static final Logger _log = LoggerFactory.getLogger(MetaDataCache.class);
/**
* The cached rows.
diff --git a/src/main/engine/net/sf/jailer/modelbuilder/ModelBuilder.java b/src/main/engine/net/sf/jailer/modelbuilder/ModelBuilder.java
index 1f1b885c6..f64103d73 100644
--- a/src/main/engine/net/sf/jailer/modelbuilder/ModelBuilder.java
+++ b/src/main/engine/net/sf/jailer/modelbuilder/ModelBuilder.java
@@ -34,7 +34,8 @@ import java.util.TreeMap;
import javax.sql.DataSource;
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import net.sf.jailer.ExecutionContext;
import net.sf.jailer.configuration.DBMS;
@@ -70,7 +71,7 @@ public class ModelBuilder {
/**
* The logger.
*/
- private static final Logger _log = Logger.getLogger(ModelBuilder.class);
+ private static final Logger _log = LoggerFactory.getLogger(ModelBuilder.class);
/**
* The statement executor for executing SQL statements.
diff --git a/src/main/engine/net/sf/jailer/render/HtmlDataModelRenderer.java b/src/main/engine/net/sf/jailer/render/HtmlDataModelRenderer.java
index 131662b71..40f00ad38 100644
--- a/src/main/engine/net/sf/jailer/render/HtmlDataModelRenderer.java
+++ b/src/main/engine/net/sf/jailer/render/HtmlDataModelRenderer.java
@@ -29,7 +29,8 @@ import java.util.HashSet;
import java.util.List;
import java.util.Set;
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import net.sf.jailer.datamodel.Association;
import net.sf.jailer.datamodel.Column;
@@ -64,7 +65,7 @@ public class HtmlDataModelRenderer implements DataModelRenderer {
/**
* The logger.
*/
- private static final Logger _log = Logger.getLogger(HtmlDataModelRenderer.class);
+ private static final Logger _log = LoggerFactory.getLogger(HtmlDataModelRenderer.class);
public static final String CONTENT_FOLDER_NAME = "tables";
diff --git a/src/main/engine/net/sf/jailer/restrictionmodel/RestrictionModel.java b/src/main/engine/net/sf/jailer/restrictionmodel/RestrictionModel.java
index 33ed861ab..f3a6b9712 100644
--- a/src/main/engine/net/sf/jailer/restrictionmodel/RestrictionModel.java
+++ b/src/main/engine/net/sf/jailer/restrictionmodel/RestrictionModel.java
@@ -21,7 +21,8 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import net.sf.jailer.ExecutionContext;
import net.sf.jailer.datamodel.Association;
@@ -61,7 +62,7 @@ public class RestrictionModel {
/**
* The logger.
*/
- private static final Logger _log = Logger.getLogger(RestrictionModel.class);
+ private static final Logger _log = LoggerFactory.getLogger(RestrictionModel.class);
/**
* Constructor.
diff --git a/src/main/engine/net/sf/jailer/subsetting/SubsettingEngine.java b/src/main/engine/net/sf/jailer/subsetting/SubsettingEngine.java
index 0864be509..18666fe87 100644
--- a/src/main/engine/net/sf/jailer/subsetting/SubsettingEngine.java
+++ b/src/main/engine/net/sf/jailer/subsetting/SubsettingEngine.java
@@ -54,7 +54,8 @@ import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.sax.TransformerHandler;
import javax.xml.transform.stream.StreamResult;
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.AttributesImpl;
@@ -158,7 +159,7 @@ public class SubsettingEngine {
/**
* The logger.
*/
- private static final Logger _log = Logger.getLogger(SubsettingEngine.class);
+ private static final Logger _log = LoggerFactory.getLogger(SubsettingEngine.class);
/**
* Comment header of the export-script.
@@ -1510,7 +1511,7 @@ public class SubsettingEngine {
}
}
- _log.info(session.dbms.getSqlDialect());
+ _log.info("" + session.dbms.getSqlDialect());
Runnable updateStatistics = new Runnable() {
@Override
diff --git a/src/main/engine/net/sf/jailer/util/CancellationHandler.java b/src/main/engine/net/sf/jailer/util/CancellationHandler.java
index d210e2de9..cad56d932 100644
--- a/src/main/engine/net/sf/jailer/util/CancellationHandler.java
+++ b/src/main/engine/net/sf/jailer/util/CancellationHandler.java
@@ -20,7 +20,8 @@ import java.util.IdentityHashMap;
import java.util.Map;
import java.util.WeakHashMap;
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* Handles cancellation request of the user and cancels database requests.
@@ -42,7 +43,7 @@ public class CancellationHandler {
/**
* The logger.
*/
- private static final Logger _log = Logger.getLogger(JobManager.class);
+ private static final Logger _log = LoggerFactory.getLogger(JobManager.class);
/**
* Default context
diff --git a/src/main/engine/net/sf/jailer/util/JobManager.java b/src/main/engine/net/sf/jailer/util/JobManager.java
index c667b9c35..aaf62852d 100644
--- a/src/main/engine/net/sf/jailer/util/JobManager.java
+++ b/src/main/engine/net/sf/jailer/util/JobManager.java
@@ -21,7 +21,8 @@ import java.util.Collection;
import java.util.LinkedList;
import java.util.List;
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* Executes a job-list in a concurrent way.
@@ -44,7 +45,7 @@ public abstract class JobManager {
/**
* The logger.
*/
- private static final Logger _log = Logger.getLogger(JobManager.class);
+ private static final Logger _log = LoggerFactory.getLogger(JobManager.class);
/**
* The runners list.
diff --git a/src/main/engine/net/sf/jailer/util/LogUtil.java b/src/main/engine/net/sf/jailer/util/LogUtil.java
index 00da8f37d..5171e9819 100644
--- a/src/main/engine/net/sf/jailer/util/LogUtil.java
+++ b/src/main/engine/net/sf/jailer/util/LogUtil.java
@@ -6,7 +6,10 @@ import java.io.PrintStream;
import java.util.Enumeration;
import java.util.Properties;
-import org.apache.log4j.PropertyConfigurator;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.core.Appender;
+import org.apache.logging.log4j.core.LoggerContext;
+import org.apache.logging.log4j.core.config.Configuration;
public class LogUtil {
@@ -32,7 +35,17 @@ public class LogUtil {
}
}
}
- PropertyConfigurator.configure(props);
+
+ LoggerContext context = (org.apache.logging.log4j.core.LoggerContext) LogManager.getContext(false);
+ File file = new File("path/to/a/different/log4j2.xml");
+
+ // this will force a reconfiguration
+// Configuration c = context.getConfiguration();
+// c.getAppenders().values().forEach(a -> {
+// if (a instanceof Appender)
+// });
+
+// PropertyConfigurator.configure(props);
} catch (Exception e) {
System.setErr(oldErr);
e.printStackTrace();
diff --git a/src/main/engine/net/sf/jailer/util/SqlScriptExecutor.java b/src/main/engine/net/sf/jailer/util/SqlScriptExecutor.java
index b65fc1b19..6dca27adc 100644
--- a/src/main/engine/net/sf/jailer/util/SqlScriptExecutor.java
+++ b/src/main/engine/net/sf/jailer/util/SqlScriptExecutor.java
@@ -41,7 +41,8 @@ import java.util.regex.Pattern;
import java.util.zip.GZIPInputStream;
import java.util.zip.ZipInputStream;
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import net.sf.jailer.configuration.Configuration;
import net.sf.jailer.database.Session;
@@ -67,7 +68,7 @@ public class SqlScriptExecutor {
/**
* The logger.
*/
- private static final Logger _log = Logger.getLogger(SqlScriptExecutor.class);
+ private static final Logger _log = LoggerFactory.getLogger(SqlScriptExecutor.class);
/**
* The session.
diff --git a/src/main/engine/net/sf/jailer/xml/XmlExportTransformer.java b/src/main/engine/net/sf/jailer/xml/XmlExportTransformer.java
index f7189d883..60e60feff 100644
--- a/src/main/engine/net/sf/jailer/xml/XmlExportTransformer.java
+++ b/src/main/engine/net/sf/jailer/xml/XmlExportTransformer.java
@@ -29,7 +29,8 @@ import java.util.Set;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.TransformerConfigurationException;
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.w3c.dom.Document;
import org.xml.sax.SAXException;
@@ -91,7 +92,7 @@ public class XmlExportTransformer extends AbstractResultSetReader {
/**
* The logger.
*/
- private static final Logger _log = Logger.getLogger(XmlExportTransformer.class);
+ private static final Logger _log = LoggerFactory.getLogger(XmlExportTransformer.class);
/**
* Maps clear text SQL-types to {@link java.sql.Types}.
diff --git a/src/main/gui/net/sf/jailer/ui/DbConnectionDialog.java b/src/main/gui/net/sf/jailer/ui/DbConnectionDialog.java
index 6461bd5c9..0e6d925ac 100644
--- a/src/main/gui/net/sf/jailer/ui/DbConnectionDialog.java
+++ b/src/main/gui/net/sf/jailer/ui/DbConnectionDialog.java
@@ -58,7 +58,8 @@ import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableCellRenderer;
import javax.swing.table.TableColumn;
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import net.sf.jailer.ExecutionContext;
import net.sf.jailer.configuration.DBMS;
@@ -84,7 +85,7 @@ public class DbConnectionDialog extends javax.swing.JDialog {
/**
* The logger.
*/
- private static final Logger logger = Logger.getLogger(MetaDataPanel.class);
+ private static final Logger logger = LoggerFactory.getLogger(MetaDataPanel.class);
/**
* true if valid connection is available.
diff --git a/src/main/gui/net/sf/jailer/ui/ExtractionModelFrame.java b/src/main/gui/net/sf/jailer/ui/ExtractionModelFrame.java
index 492cd7264..2c485b30b 100644
--- a/src/main/gui/net/sf/jailer/ui/ExtractionModelFrame.java
+++ b/src/main/gui/net/sf/jailer/ui/ExtractionModelFrame.java
@@ -47,7 +47,6 @@ import java.util.concurrent.Callable;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.logging.Level;
-import java.util.logging.Logger;
import java.util.stream.Collectors;
import javax.swing.ImageIcon;
@@ -63,6 +62,9 @@ import javax.swing.KeyStroke;
import javax.swing.SwingUtilities;
import javax.swing.WindowConstants;
+import org.apache.logging.log4j.core.Logger;
+import org.slf4j.LoggerFactory;
+
import net.sf.jailer.ExecutionContext;
import net.sf.jailer.JailerVersion;
import net.sf.jailer.configuration.Configuration;
@@ -2300,7 +2302,7 @@ public class ExtractionModelFrame extends javax.swing.JFrame {
}
// turn off logging for prefuse library
try {
- Logger.getLogger("prefuse").setLevel(Level.OFF);
+// Logger.getLogger("prefuse").setLevel(Level.OFF);
} catch (Exception e1) {
e1.printStackTrace();
}
diff --git a/src/main/gui/net/sf/jailer/ui/FileView.java b/src/main/gui/net/sf/jailer/ui/FileView.java
index dd119ac56..57e641f7c 100644
--- a/src/main/gui/net/sf/jailer/ui/FileView.java
+++ b/src/main/gui/net/sf/jailer/ui/FileView.java
@@ -17,7 +17,6 @@ package net.sf.jailer.ui;
import java.awt.Container;
import java.awt.Dimension;
-import java.awt.Font;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
diff --git a/src/main/gui/net/sf/jailer/ui/QueryBuilderDialog.java b/src/main/gui/net/sf/jailer/ui/QueryBuilderDialog.java
index 5a1ad75aa..f5e267c3f 100644
--- a/src/main/gui/net/sf/jailer/ui/QueryBuilderDialog.java
+++ b/src/main/gui/net/sf/jailer/ui/QueryBuilderDialog.java
@@ -16,13 +16,11 @@
package net.sf.jailer.ui;
import java.awt.Color;
-import java.awt.Component;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.GridBagConstraints;
import java.awt.Insets;
import java.awt.Rectangle;
-import java.awt.Window;
import java.awt.event.ComponentEvent;
import java.awt.event.ComponentListener;
import java.awt.event.ItemEvent;
@@ -44,7 +42,6 @@ import javax.swing.JComponent;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
-import javax.swing.SwingUtilities;
import javax.swing.border.BevelBorder;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
diff --git a/src/main/gui/net/sf/jailer/ui/UIUtil.java b/src/main/gui/net/sf/jailer/ui/UIUtil.java
index b50e570f4..599f3c56d 100644
--- a/src/main/gui/net/sf/jailer/ui/UIUtil.java
+++ b/src/main/gui/net/sf/jailer/ui/UIUtil.java
@@ -117,8 +117,9 @@ import javax.swing.table.TableColumnModel;
import javax.swing.table.TableModel;
import javax.swing.text.DefaultEditorKit;
-import org.apache.log4j.Logger;
import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import com.formdev.flatlaf.FlatLightLaf;
@@ -164,7 +165,7 @@ public class UIUtil {
/**
* The logger.
*/
- private static final Logger _log = Logger.getLogger(UIUtil.class);
+ private static final Logger _log = LoggerFactory.getLogger(UIUtil.class);
/**
* Opens file chooser.
diff --git a/src/main/gui/net/sf/jailer/ui/databrowser/DataBrowser.java b/src/main/gui/net/sf/jailer/ui/databrowser/DataBrowser.java
index 170481be1..10b5f9b7a 100644
--- a/src/main/gui/net/sf/jailer/ui/databrowser/DataBrowser.java
+++ b/src/main/gui/net/sf/jailer/ui/databrowser/DataBrowser.java
@@ -69,8 +69,6 @@ import java.util.Map.Entry;
import java.util.Set;
import java.util.TreeSet;
import java.util.Vector;
-import java.util.logging.Level;
-import java.util.logging.Logger;
import java.util.stream.Collectors;
import javax.swing.AbstractButton;
@@ -3093,7 +3091,7 @@ public class DataBrowser extends javax.swing.JFrame {
// turn off logging for prefuse library
try {
- Logger.getLogger("prefuse").setLevel(Level.OFF);
+// LoggerFactory.getLogger("prefuse").setLevel(Level.OFF);
} catch (Exception e1) {
e1.printStackTrace();
}
diff --git a/src/main/gui/net/sf/jailer/ui/databrowser/metadata/MDDatabase.java b/src/main/gui/net/sf/jailer/ui/databrowser/metadata/MDDatabase.java
index 4ffb7a72c..7f3a34ccc 100644
--- a/src/main/gui/net/sf/jailer/ui/databrowser/metadata/MDDatabase.java
+++ b/src/main/gui/net/sf/jailer/ui/databrowser/metadata/MDDatabase.java
@@ -25,7 +25,8 @@ import java.util.concurrent.atomic.AtomicBoolean;
import javax.swing.JComponent;
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import net.sf.jailer.ExecutionContext;
import net.sf.jailer.database.Session;
@@ -42,7 +43,7 @@ public class MDDatabase extends MDGeneric {
/**
* The logger.
*/
- private static final Logger logger = Logger.getLogger(MDDatabase.class);
+ private static final Logger logger = LoggerFactory.getLogger(MDDatabase.class);
private final DataModel dataModel;
diff --git a/src/main/gui/net/sf/jailer/ui/databrowser/metadata/MDDescriptionBasedGeneric.java b/src/main/gui/net/sf/jailer/ui/databrowser/metadata/MDDescriptionBasedGeneric.java
index dba298c11..346191961 100644
--- a/src/main/gui/net/sf/jailer/ui/databrowser/metadata/MDDescriptionBasedGeneric.java
+++ b/src/main/gui/net/sf/jailer/ui/databrowser/metadata/MDDescriptionBasedGeneric.java
@@ -40,9 +40,10 @@ import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTabbedPane;
-import org.apache.log4j.Logger;
import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
import org.fife.ui.rsyntaxtextarea.SyntaxConstants;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import net.sf.jailer.ExecutionContext;
import net.sf.jailer.configuration.DBMS;
@@ -63,7 +64,7 @@ public class MDDescriptionBasedGeneric extends MDGeneric {
/**
* The logger.
*/
- private static final Logger logger = Logger.getLogger(MetaDataDetailsPanel.class);
+ private static final Logger logger = LoggerFactory.getLogger(MetaDataDetailsPanel.class);
protected final DatabaseObjectRenderingDescription databaseObjectRenderingDescription;
protected final MDSchema schema;
diff --git a/src/main/gui/net/sf/jailer/ui/databrowser/metadata/MDSchema.java b/src/main/gui/net/sf/jailer/ui/databrowser/metadata/MDSchema.java
index 19c8706b2..436a18f80 100644
--- a/src/main/gui/net/sf/jailer/ui/databrowser/metadata/MDSchema.java
+++ b/src/main/gui/net/sf/jailer/ui/databrowser/metadata/MDSchema.java
@@ -34,7 +34,8 @@ import java.util.concurrent.atomic.AtomicBoolean;
import javax.swing.ImageIcon;
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import net.sf.jailer.database.Session.AbstractResultSetReader;
import net.sf.jailer.modelbuilder.MemorizedResultSet;
@@ -51,7 +52,7 @@ public class MDSchema extends MDObject {
/**
* The logger.
*/
- private static final Logger logger = Logger.getLogger(MDObject.class);
+ private static final Logger logger = LoggerFactory.getLogger(MDObject.class);
public final boolean isDefaultSchema;
private List tables;
diff --git a/src/main/gui/net/sf/jailer/ui/databrowser/metadata/MDTable.java b/src/main/gui/net/sf/jailer/ui/databrowser/metadata/MDTable.java
index 3e2df7c7d..75c1da257 100644
--- a/src/main/gui/net/sf/jailer/ui/databrowser/metadata/MDTable.java
+++ b/src/main/gui/net/sf/jailer/ui/databrowser/metadata/MDTable.java
@@ -38,7 +38,8 @@ import java.util.concurrent.atomic.AtomicBoolean;
import javax.swing.JComponent;
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import net.sf.jailer.configuration.DBMS;
import net.sf.jailer.database.Session;
@@ -62,7 +63,7 @@ public class MDTable extends MDObject {
/**
* The logger.
*/
- private static final Logger logger = Logger.getLogger(MDObject.class);
+ private static final Logger logger = LoggerFactory.getLogger(MDObject.class);
private final MDSchema schema;
private List primaryKey;
diff --git a/src/main/gui/net/sf/jailer/ui/databrowser/metadata/MetaDataDetailsPanel.java b/src/main/gui/net/sf/jailer/ui/databrowser/metadata/MetaDataDetailsPanel.java
index 388efd29b..d2e51a36f 100644
--- a/src/main/gui/net/sf/jailer/ui/databrowser/metadata/MetaDataDetailsPanel.java
+++ b/src/main/gui/net/sf/jailer/ui/databrowser/metadata/MetaDataDetailsPanel.java
@@ -43,9 +43,10 @@ import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
-import org.apache.log4j.Logger;
import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
import org.fife.ui.rsyntaxtextarea.SyntaxConstants;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import net.sf.jailer.ExecutionContext;
import net.sf.jailer.database.Session;
@@ -79,7 +80,7 @@ public abstract class MetaDataDetailsPanel extends javax.swing.JPanel {
/**
* The logger.
*/
- private static final Logger logger = Logger.getLogger(MetaDataDetailsPanel.class);
+ private static final Logger logger = LoggerFactory.getLogger(MetaDataDetailsPanel.class);
private final Reference datamodel;
private final Session session;
diff --git a/src/main/gui/net/sf/jailer/ui/databrowser/metadata/MetaDataPanel.java b/src/main/gui/net/sf/jailer/ui/databrowser/metadata/MetaDataPanel.java
index 96db78650..3f43940bb 100644
--- a/src/main/gui/net/sf/jailer/ui/databrowser/metadata/MetaDataPanel.java
+++ b/src/main/gui/net/sf/jailer/ui/databrowser/metadata/MetaDataPanel.java
@@ -109,9 +109,10 @@ import javax.swing.tree.TreeNode;
import javax.swing.tree.TreePath;
import javax.swing.tree.TreeSelectionModel;
-import org.apache.log4j.Logger;
import org.fife.rsta.ui.EscapableDialog;
import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import net.sf.jailer.ExecutionContext;
import net.sf.jailer.configuration.DBMS;
@@ -142,7 +143,7 @@ public abstract class MetaDataPanel extends javax.swing.JPanel {
/**
* The logger.
*/
- private static final Logger logger = Logger.getLogger(MetaDataPanel.class);
+ private static final Logger logger = LoggerFactory.getLogger(MetaDataPanel.class);
private final MetaDataSource metaDataSource;
private final JComboBox2 tablesComboBox;
diff --git a/src/main/gui/net/sf/jailer/ui/databrowser/metadata/MetaDataSource.java b/src/main/gui/net/sf/jailer/ui/databrowser/metadata/MetaDataSource.java
index fc1725e99..4dc71d706 100644
--- a/src/main/gui/net/sf/jailer/ui/databrowser/metadata/MetaDataSource.java
+++ b/src/main/gui/net/sf/jailer/ui/databrowser/metadata/MetaDataSource.java
@@ -24,7 +24,8 @@ import java.util.Locale;
import java.util.Map;
import java.util.concurrent.atomic.AtomicBoolean;
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import net.sf.jailer.ExecutionContext;
import net.sf.jailer.database.Session;
@@ -43,7 +44,7 @@ public class MetaDataSource {
/**
* The logger.
*/
- private static final Logger logger = Logger.getLogger(MetaDataDetailsPanel.class);
+ private static final Logger logger = LoggerFactory.getLogger(MetaDataDetailsPanel.class);
/**
* The database session.
diff --git a/src/main/gui/net/sf/jailer/ui/databrowser/sqlconsole/ColumnsTable.java b/src/main/gui/net/sf/jailer/ui/databrowser/sqlconsole/ColumnsTable.java
index 92d569c9e..e2d17ed07 100644
--- a/src/main/gui/net/sf/jailer/ui/databrowser/sqlconsole/ColumnsTable.java
+++ b/src/main/gui/net/sf/jailer/ui/databrowser/sqlconsole/ColumnsTable.java
@@ -22,7 +22,6 @@ import java.awt.GridBagLayout;
import java.awt.Point;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
diff --git a/src/main/gui/net/sf/jailer/ui/databrowser/sqlconsole/QueryTypeAnalyser.java b/src/main/gui/net/sf/jailer/ui/databrowser/sqlconsole/QueryTypeAnalyser.java
index 3f5e3fee0..3de48195f 100644
--- a/src/main/gui/net/sf/jailer/ui/databrowser/sqlconsole/QueryTypeAnalyser.java
+++ b/src/main/gui/net/sf/jailer/ui/databrowser/sqlconsole/QueryTypeAnalyser.java
@@ -28,7 +28,8 @@ import java.util.Set;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import net.sf.jailer.datamodel.PrimaryKey;
import net.sf.jailer.datamodel.PrimaryKeyFactory;
@@ -159,7 +160,7 @@ public class QueryTypeAnalyser {
/**
* The logger.
*/
- private static final Logger logger = Logger.getLogger(MetaDataDetailsPanel.class);
+ private static final Logger logger = LoggerFactory.getLogger(MetaDataDetailsPanel.class);
@SuppressWarnings("serial")
private static class QueryTooComplexException extends RuntimeException {
diff --git a/src/main/gui/net/sf/jailer/ui/databrowser/sqlconsole/SQLConsole.java b/src/main/gui/net/sf/jailer/ui/databrowser/sqlconsole/SQLConsole.java
index 4ff8930fa..f4ad1cbdc 100644
--- a/src/main/gui/net/sf/jailer/ui/databrowser/sqlconsole/SQLConsole.java
+++ b/src/main/gui/net/sf/jailer/ui/databrowser/sqlconsole/SQLConsole.java
@@ -111,11 +111,12 @@ import javax.swing.text.BadLocationException;
import javax.swing.text.Document;
import javax.swing.text.Segment;
-import org.apache.log4j.Logger;
import org.fife.ui.rsyntaxtextarea.RSyntaxDocument;
import org.fife.ui.rsyntaxtextarea.SyntaxConstants;
import org.fife.ui.rtextarea.RTextScrollPane;
import org.fife.ui.rtextarea.SmartHighlightPainter;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import net.sf.jailer.ExecutionContext;
import net.sf.jailer.configuration.Configuration;
@@ -144,9 +145,9 @@ import net.sf.jailer.ui.databrowser.BrowserContentPane.LoadJob;
import net.sf.jailer.ui.databrowser.BrowserContentPane.RowsClosure;
import net.sf.jailer.ui.databrowser.DataBrowser;
import net.sf.jailer.ui.databrowser.Desktop;
-import net.sf.jailer.ui.databrowser.FullTextSearchPanel;
import net.sf.jailer.ui.databrowser.Desktop.FindClosureContext;
import net.sf.jailer.ui.databrowser.Desktop.RowBrowser;
+import net.sf.jailer.ui.databrowser.FullTextSearchPanel;
import net.sf.jailer.ui.databrowser.Reference;
import net.sf.jailer.ui.databrowser.Row;
import net.sf.jailer.ui.databrowser.SQLValue;
@@ -184,7 +185,7 @@ public abstract class SQLConsole extends javax.swing.JPanel {
/**
* The logger.
*/
- private static final Logger logger = Logger.getLogger(MetaDataDetailsPanel.class);
+ private static final Logger logger = LoggerFactory.getLogger(MetaDataDetailsPanel.class);
private static final int MAX_TAB_COUNT = 8;
private static final int MAX_HISTORY_SIZE = 100;
diff --git a/src/main/gui/net/sf/jailer/ui/databrowser/sqlconsole/SQLPlusSupport.java b/src/main/gui/net/sf/jailer/ui/databrowser/sqlconsole/SQLPlusSupport.java
index 305afc686..735f8c3bc 100644
--- a/src/main/gui/net/sf/jailer/ui/databrowser/sqlconsole/SQLPlusSupport.java
+++ b/src/main/gui/net/sf/jailer/ui/databrowser/sqlconsole/SQLPlusSupport.java
@@ -31,7 +31,8 @@ import java.util.TreeMap;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import net.sf.jailer.modelbuilder.MemorizedResultSet;
@@ -45,7 +46,7 @@ public class SQLPlusSupport {
/**
* The logger.
*/
- private static final Logger logger = Logger.getLogger(SQLPlusSupport.class);
+ private static final Logger logger = LoggerFactory.getLogger(SQLPlusSupport.class);
/**
* The variables.
diff --git a/src/main/gui/net/sf/jailer/ui/databrowser/sqlconsole/TabContentPanel.java b/src/main/gui/net/sf/jailer/ui/databrowser/sqlconsole/TabContentPanel.java
index fc40f9388..9f51b60f1 100644
--- a/src/main/gui/net/sf/jailer/ui/databrowser/sqlconsole/TabContentPanel.java
+++ b/src/main/gui/net/sf/jailer/ui/databrowser/sqlconsole/TabContentPanel.java
@@ -49,10 +49,11 @@ import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumnModel;
import javax.swing.table.TableModel;
-import org.apache.log4j.Logger;
import org.fife.ui.rsyntaxtextarea.RSyntaxDocument;
import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
import org.fife.ui.rsyntaxtextarea.SyntaxConstants;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import net.sf.jailer.ExecutionContext;
import net.sf.jailer.database.Session;
@@ -74,7 +75,7 @@ public class TabContentPanel extends javax.swing.JPanel {
/**
* The logger.
*/
- private static final Logger logger = Logger.getLogger(MetaDataDetailsPanel.class);
+ private static final Logger logger = LoggerFactory.getLogger(MetaDataDetailsPanel.class);
/**
* Creates new form TabContentPanel
diff --git a/src/main/gui/net/sf/jailer/ui/databrowser/whereconditioneditor/WCTypeAnalyser.java b/src/main/gui/net/sf/jailer/ui/databrowser/whereconditioneditor/WCTypeAnalyser.java
index 81221aea2..87c3a49f2 100644
--- a/src/main/gui/net/sf/jailer/ui/databrowser/whereconditioneditor/WCTypeAnalyser.java
+++ b/src/main/gui/net/sf/jailer/ui/databrowser/whereconditioneditor/WCTypeAnalyser.java
@@ -28,7 +28,8 @@ import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import net.sf.jailer.datamodel.PrimaryKey;
import net.sf.jailer.datamodel.Table;
@@ -159,7 +160,7 @@ public class WCTypeAnalyser {
/**
* The logger.
*/
- private static final Logger logger = Logger.getLogger(MetaDataDetailsPanel.class);
+ private static final Logger logger = LoggerFactory.getLogger(MetaDataDetailsPanel.class);
public static class Result {
public Table table;
diff --git a/src/main/gui/net/sf/jailer/ui/util/AWTWatchdog.java b/src/main/gui/net/sf/jailer/ui/util/AWTWatchdog.java
index 72731a4b1..f74f05aec 100644
--- a/src/main/gui/net/sf/jailer/ui/util/AWTWatchdog.java
+++ b/src/main/gui/net/sf/jailer/ui/util/AWTWatchdog.java
@@ -168,7 +168,7 @@ public class AWTWatchdog {
}
sb.append('\n');
- Session._log.error(sb);
+ Session._log.error(sb.toString());
String dump = Pattern.compile(mrk + "(?d)([^\\n]*\\n[^\\n]*\\n)(.*?)\\b" + pckPtrn, Pattern.DOTALL).matcher(sb.toString()).replaceFirst("..$1at " + pck);
dump = dump