[^ ]+?)? *");
- private static Pattern numberExponentPattern = Pattern.compile(" *(?.*?)?(?([0-9]+)(\\.[0-9]+)?+)\\^(?[0-9]+)(?.*?)?");
+ private static final Pattern numberFmtPattern = Pattern.compile(" *(?(?[0-9]+)(?\\.[0-9]+)?(?E[0-9]+)?) *(?[^ ]+?)? *");
+ private static final Pattern numberExponentPattern = Pattern.compile(" *(?.*?)?(?([0-9]+)(\\.[0-9]+)?+)\\^(?[0-9]+)(?.*?)?");
- private static long nanoPerSecond = 1000000000;
- private static long bytesPerGB = 1000000000;
- private static long BytesPerGiB = 1024 * 1024 * 1024;
+ private static final long nanoPerSecond = 1000000000;
+ private static final long bytesPerGB = 1000000000;
+ private static final long BytesPerGiB = 1024 * 1024 * 1024;
public static Optional msFor(String duration) {
return durationFor(Duration.MS, duration);
@@ -90,7 +90,7 @@ public class Unit {
double base= Double.valueOf(e.group("number"));
double exponent = Double.valueOf(e.group("exponent"));
double value= Math.pow(base, exponent);
- spec = e.group("pre")+ String.valueOf(value) + e.group("post");
+ spec = e.group("pre")+ value + e.group("post");
}
Matcher m = numberFmtPattern.matcher(spec);
if (m.matches()) {
@@ -181,7 +181,7 @@ public class Unit {
throw new InvalidParameterException("Exponent for powers of two must be 63 or less. It is " + exponent);
}
long value = 1L << exponent;
- spec= exponentMatcher.group("pre") + String.valueOf(value) + exponentMatcher.group("post");
+ spec= exponentMatcher.group("pre") + value + exponentMatcher.group("post");
} else {
spec= exponentMatcher.group("pre") + (long) Math.pow(number, exponent) + exponentMatcher.group("post");
}
@@ -217,7 +217,7 @@ public class Unit {
}
- public static enum Count {
+ public enum Count {
UNIT("U", "unit", 1.0),
KILO("K", "kilo", 1000.0),
MEGA("M", "mega", 1000000.0),
@@ -257,7 +257,7 @@ public class Unit {
}
}
- public static enum Bytes {
+ public enum Bytes {
BYTE("B", "byte", 1),
KB("KB", "kilobyte", 1000),
MB("MB", "megabyte", 1000000),
@@ -310,7 +310,7 @@ public class Unit {
}
}
- public static enum Duration {
+ public enum Duration {
SECOND("s", "seconds", nanoPerSecond),
MS("ms", "milliseconds", 1000000),
US("µs", "microseconds", 1000),
diff --git a/engine-api/src/test/java/io/nosqlbench/engine/api/activityconfig/rawyaml/BindingEscapingTest.java b/engine-api/src/test/java/io/nosqlbench/engine/api/activityconfig/rawyaml/BindingEscapingTest.java
index e39cd303b..10413036c 100644
--- a/engine-api/src/test/java/io/nosqlbench/engine/api/activityconfig/rawyaml/BindingEscapingTest.java
+++ b/engine-api/src/test/java/io/nosqlbench/engine/api/activityconfig/rawyaml/BindingEscapingTest.java
@@ -19,15 +19,15 @@ package io.nosqlbench.engine.api.activityconfig.rawyaml;
import io.nosqlbench.virtdata.core.bindings.DataMapper;
import io.nosqlbench.virtdata.core.bindings.VirtData;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
import org.junit.Test;
import static org.assertj.core.api.Assertions.assertThat;
public class BindingEscapingTest {
- private final static Logger logger = LoggerFactory.getLogger(BindingEscapingTest.class);
+ private final static Logger logger = LogManager.getLogger(BindingEscapingTest.class);
@Test
public void testThatEscapesAreNotUnescapedInSingleQuotes() {
diff --git a/engine-api/src/test/java/io/nosqlbench/engine/api/activityconfig/rawyaml/RawYamlStatementLoaderTest.java b/engine-api/src/test/java/io/nosqlbench/engine/api/activityconfig/rawyaml/RawYamlStatementLoaderTest.java
index bd6a16908..61fd88c27 100644
--- a/engine-api/src/test/java/io/nosqlbench/engine/api/activityconfig/rawyaml/RawYamlStatementLoaderTest.java
+++ b/engine-api/src/test/java/io/nosqlbench/engine/api/activityconfig/rawyaml/RawYamlStatementLoaderTest.java
@@ -17,8 +17,8 @@
package io.nosqlbench.engine.api.activityconfig.rawyaml;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
import org.junit.Test;
import java.util.List;
@@ -27,7 +27,7 @@ import java.util.Map;
import static org.assertj.core.api.Assertions.assertThat;
public class RawYamlStatementLoaderTest {
- private final static Logger logger = LoggerFactory.getLogger(RawYamlStatementLoaderTest.class);
+ private final static Logger logger = LogManager.getLogger(RawYamlStatementLoaderTest.class);
@Test
public void testLoadPropertiesBlock() {
diff --git a/engine-api/src/test/java/io/nosqlbench/engine/api/activityconfig/rawyaml/StmtDefTest.java b/engine-api/src/test/java/io/nosqlbench/engine/api/activityconfig/rawyaml/StmtDefTest.java
index 5205a15c0..fd9aab188 100644
--- a/engine-api/src/test/java/io/nosqlbench/engine/api/activityconfig/rawyaml/StmtDefTest.java
+++ b/engine-api/src/test/java/io/nosqlbench/engine/api/activityconfig/rawyaml/StmtDefTest.java
@@ -23,8 +23,8 @@ import io.nosqlbench.engine.api.activityconfig.yaml.StmtsBlock;
import io.nosqlbench.engine.api.activityconfig.yaml.StmtsDoc;
import io.nosqlbench.engine.api.activityconfig.yaml.StmtsDocList;
import org.junit.Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
import java.util.List;
import java.util.Map;
@@ -33,7 +33,7 @@ import static org.assertj.core.api.Assertions.assertThat;
public class StmtDefTest {
- private final static Logger logger = LoggerFactory.getLogger(StmtDefTest.class);
+ private final static Logger logger = LogManager.getLogger(StmtDefTest.class);
@Test
public void testLayering() {
diff --git a/engine-api/src/test/java/io/nosqlbench/engine/api/activityconfig/rawyaml/StmtEscapingTest.java b/engine-api/src/test/java/io/nosqlbench/engine/api/activityconfig/rawyaml/StmtEscapingTest.java
index fd230ebdf..faf33cb97 100644
--- a/engine-api/src/test/java/io/nosqlbench/engine/api/activityconfig/rawyaml/StmtEscapingTest.java
+++ b/engine-api/src/test/java/io/nosqlbench/engine/api/activityconfig/rawyaml/StmtEscapingTest.java
@@ -20,8 +20,8 @@ package io.nosqlbench.engine.api.activityconfig.rawyaml;
import io.nosqlbench.engine.api.activityconfig.StatementsLoader;
import io.nosqlbench.engine.api.activityconfig.yaml.*;
import org.junit.BeforeClass;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
import org.junit.Test;
import java.util.List;
@@ -30,7 +30,7 @@ import static org.assertj.core.api.Assertions.assertThat;
public class StmtEscapingTest {
- private final static Logger logger = LoggerFactory.getLogger(StmtEscapingTest.class);
+ private final static Logger logger = LogManager.getLogger(StmtEscapingTest.class);
private static List defs;
@BeforeClass
diff --git a/engine-api/src/test/java/io/nosqlbench/engine/api/activityconfig/rawyaml/StmtVariationTests.java b/engine-api/src/test/java/io/nosqlbench/engine/api/activityconfig/rawyaml/StmtVariationTests.java
index 8da316159..3b510b09a 100644
--- a/engine-api/src/test/java/io/nosqlbench/engine/api/activityconfig/rawyaml/StmtVariationTests.java
+++ b/engine-api/src/test/java/io/nosqlbench/engine/api/activityconfig/rawyaml/StmtVariationTests.java
@@ -17,8 +17,8 @@
package io.nosqlbench.engine.api.activityconfig.rawyaml;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
import org.junit.Test;
import java.util.List;
@@ -27,7 +27,7 @@ import static org.assertj.core.api.Assertions.assertThat;
public class StmtVariationTests {
- private final static Logger logger = LoggerFactory.getLogger(StmtVariationTests.class);
+ private final static Logger logger = LogManager.getLogger(StmtVariationTests.class);
@Test
public void testListStmtsOnly() {
diff --git a/engine-api/src/test/java/io/nosqlbench/engine/api/activityconfig/yaml/ParsedStmtTest.java b/engine-api/src/test/java/io/nosqlbench/engine/api/activityconfig/yaml/ParsedStmtTest.java
index 2d77e92cf..9ad188fb3 100644
--- a/engine-api/src/test/java/io/nosqlbench/engine/api/activityconfig/yaml/ParsedStmtTest.java
+++ b/engine-api/src/test/java/io/nosqlbench/engine/api/activityconfig/yaml/ParsedStmtTest.java
@@ -20,14 +20,14 @@ package io.nosqlbench.engine.api.activityconfig.yaml;
import io.nosqlbench.engine.api.activityconfig.StatementsLoader;
import io.nosqlbench.engine.api.activityconfig.ParsedStmt;
import org.junit.BeforeClass;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
import org.junit.Test;
import static org.assertj.core.api.Assertions.assertThat;
public class ParsedStmtTest {
- private static final Logger logger = LoggerFactory.getLogger(ParsedStmtTest.class);
+ private static final Logger logger = LogManager.getLogger(ParsedStmtTest.class);
private static StmtsDocList doclist;
@BeforeClass
diff --git a/engine-api/src/test/java/io/nosqlbench/engine/api/activityconfig/yaml/StmtDetailOverrideTest.java b/engine-api/src/test/java/io/nosqlbench/engine/api/activityconfig/yaml/StmtDetailOverrideTest.java
index 88230ae9d..5e61eaf17 100644
--- a/engine-api/src/test/java/io/nosqlbench/engine/api/activityconfig/yaml/StmtDetailOverrideTest.java
+++ b/engine-api/src/test/java/io/nosqlbench/engine/api/activityconfig/yaml/StmtDetailOverrideTest.java
@@ -18,8 +18,8 @@
package io.nosqlbench.engine.api.activityconfig.yaml;
import io.nosqlbench.engine.api.activityconfig.StatementsLoader;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
import org.junit.Test;
import java.util.List;
@@ -27,7 +27,7 @@ import java.util.List;
import static org.assertj.core.api.Assertions.assertThat;
public class StmtDetailOverrideTest {
- private static final Logger logger = LoggerFactory.getLogger(StmtDetailOverrideTest.class);
+ private static final Logger logger = LogManager.getLogger(StmtDetailOverrideTest.class);
@Test
public void testStmtOverrides() {
diff --git a/engine-api/src/test/java/io/nosqlbench/engine/api/activityconfig/yaml/StmtsDocListTest.java b/engine-api/src/test/java/io/nosqlbench/engine/api/activityconfig/yaml/StmtsDocListTest.java
index 09c7f359b..4751bfcd9 100644
--- a/engine-api/src/test/java/io/nosqlbench/engine/api/activityconfig/yaml/StmtsDocListTest.java
+++ b/engine-api/src/test/java/io/nosqlbench/engine/api/activityconfig/yaml/StmtsDocListTest.java
@@ -20,8 +20,8 @@ package io.nosqlbench.engine.api.activityconfig.yaml;
import io.nosqlbench.engine.api.activityconfig.StatementsLoader;
import org.assertj.core.data.MapEntry;
import org.junit.BeforeClass;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
import org.junit.Test;
import java.util.LinkedHashMap;
@@ -32,19 +32,19 @@ import static org.assertj.core.api.Assertions.assertThat;
public class StmtsDocListTest {
- private static final Logger logger = LoggerFactory.getLogger(StmtsDocListTest.class);
+ private static final Logger logger = LogManager.getLogger(StmtsDocListTest.class);
private static StmtsDocList doclist;
- private LinkedHashMap doc0bindings = new LinkedHashMap() {{
+ private final LinkedHashMap doc0bindings = new LinkedHashMap() {{
put("b2", "b2d");
put("b1", "b1d");
}};
- private LinkedHashMap doc0params = new LinkedHashMap() {{
+ private final LinkedHashMap doc0params = new LinkedHashMap() {{
put("param1","value1");
}};
- private LinkedHashMap doc0tags = new LinkedHashMap() {{
+ private final LinkedHashMap doc0tags = new LinkedHashMap() {{
put("atagname","atagvalue");
}};
diff --git a/engine-cli/src/main/java/io/nosqlbench/engine/cli/BasicScriptBuffer.java b/engine-cli/src/main/java/io/nosqlbench/engine/cli/BasicScriptBuffer.java
index 1e4e47414..d343b61d0 100644
--- a/engine-cli/src/main/java/io/nosqlbench/engine/cli/BasicScriptBuffer.java
+++ b/engine-cli/src/main/java/io/nosqlbench/engine/cli/BasicScriptBuffer.java
@@ -3,8 +3,8 @@ package io.nosqlbench.engine.cli;
import io.nosqlbench.engine.api.templating.StrInterpolator;
import io.nosqlbench.nb.api.content.Content;
import io.nosqlbench.nb.api.content.NBIO;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
import java.util.ArrayList;
import java.util.HashMap;
@@ -14,7 +14,7 @@ import java.util.Map;
public class BasicScriptBuffer implements ScriptBuffer {
- private final static Logger logger = LoggerFactory.getLogger(Cmd.class);
+ private final static Logger logger = LogManager.getLogger(Cmd.class);
private final List commands = new ArrayList<>();
private final StringBuilder sb = new StringBuilder();
private final Map scriptParams = new HashMap<>();
diff --git a/engine-cli/src/main/java/io/nosqlbench/engine/cli/Cmd.java b/engine-cli/src/main/java/io/nosqlbench/engine/cli/Cmd.java
index 2c1a43eda..4538dfebd 100644
--- a/engine-cli/src/main/java/io/nosqlbench/engine/cli/Cmd.java
+++ b/engine-cli/src/main/java/io/nosqlbench/engine/cli/Cmd.java
@@ -1,7 +1,7 @@
package io.nosqlbench.engine.cli;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
import java.security.InvalidParameterException;
import java.util.*;
@@ -14,7 +14,7 @@ import java.util.function.Function;
*/
public class Cmd {
- private final static Logger logger = LoggerFactory.getLogger(Cmd.class);
+ private final static Logger logger = LogManager.getLogger(Cmd.class);
public enum CmdType {
run(),
diff --git a/engine-cli/src/main/java/io/nosqlbench/engine/cli/NBCLI.java b/engine-cli/src/main/java/io/nosqlbench/engine/cli/NBCLI.java
index 5549ae556..245d0e299 100644
--- a/engine-cli/src/main/java/io/nosqlbench/engine/cli/NBCLI.java
+++ b/engine-cli/src/main/java/io/nosqlbench/engine/cli/NBCLI.java
@@ -1,6 +1,5 @@
package io.nosqlbench.engine.cli;
-import ch.qos.logback.classic.Level;
import io.nosqlbench.docsys.core.DocServerApp;
import io.nosqlbench.engine.api.activityapi.core.ActivityType;
import io.nosqlbench.engine.api.activityapi.cyclelog.outputs.cyclelog.CycleLogDumperUtility;
@@ -10,7 +9,9 @@ import io.nosqlbench.engine.api.activityapi.output.OutputType;
import io.nosqlbench.engine.api.metrics.ActivityMetrics;
import io.nosqlbench.engine.core.*;
import io.nosqlbench.engine.core.annotation.Annotators;
-import io.nosqlbench.engine.core.metrics.GrafanaMetricsAnnotator;
+import io.nosqlbench.engine.core.logging.LoggerConfig;
+import io.nosqlbench.engine.core.logging.SessionLogConfig;
+import io.nosqlbench.engine.core.logging.ScenarioLogger;
import io.nosqlbench.engine.core.metrics.MetricReporters;
import io.nosqlbench.engine.core.script.MetricsMapper;
import io.nosqlbench.engine.core.script.Scenario;
@@ -24,8 +25,10 @@ import io.nosqlbench.nb.api.errors.BasicError;
import io.nosqlbench.nb.api.logging.NBLogLevel;
import io.nosqlbench.nb.api.markdown.exporter.MarkdownExporter;
import io.nosqlbench.virtdata.userlibs.apps.VirtDataMainApp;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import joptsimple.internal.Strings;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.core.config.ConfigurationFactory;
import java.io.BufferedReader;
import java.io.IOException;
diff --git a/engine-cli/src/main/java/io/nosqlbench/engine/cli/NBCLIArgsFile.java b/engine-cli/src/main/java/io/nosqlbench/engine/cli/NBCLIArgsFile.java
index ec047e94f..0d597a14a 100644
--- a/engine-cli/src/main/java/io/nosqlbench/engine/cli/NBCLIArgsFile.java
+++ b/engine-cli/src/main/java/io/nosqlbench/engine/cli/NBCLIArgsFile.java
@@ -1,9 +1,10 @@
package io.nosqlbench.engine.cli;
+import io.nosqlbench.nb.api.Environment;
import io.nosqlbench.nb.api.errors.BasicError;
import joptsimple.internal.Strings;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
import java.io.IOException;
import java.nio.file.Files;
@@ -55,7 +56,7 @@ import java.util.stream.Collectors;
* will cause an error to be thrown.
*/
public class NBCLIArgsFile {
- private final static Logger logger = LoggerFactory.getLogger("ARGSFILE");
+ private final static Logger logger = LogManager.getLogger("ARGSFILE");
// Options which may contextualize other CLI options or commands.
// These must be parsed first
diff --git a/engine-cli/src/main/java/io/nosqlbench/engine/cli/NBCLIOptions.java b/engine-cli/src/main/java/io/nosqlbench/engine/cli/NBCLIOptions.java
index f8e5c1308..b94d9e913 100644
--- a/engine-cli/src/main/java/io/nosqlbench/engine/cli/NBCLIOptions.java
+++ b/engine-cli/src/main/java/io/nosqlbench/engine/cli/NBCLIOptions.java
@@ -1,12 +1,13 @@
package io.nosqlbench.engine.cli;
-import ch.qos.logback.classic.Level;
import io.nosqlbench.engine.api.metrics.IndicatorMode;
import io.nosqlbench.engine.api.util.Unit;
import io.nosqlbench.engine.core.script.Scenario;
+import io.nosqlbench.nb.api.Environment;
+import io.nosqlbench.nb.api.logging.NBLogLevel;
import io.nosqlbench.nb.api.errors.BasicError;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
import java.io.File;
import java.io.IOException;
@@ -23,7 +24,7 @@ import java.util.stream.Collectors;
*/
public class NBCLIOptions {
- private final static Logger logger = LoggerFactory.getLogger("OPTIONS");
+ private final static Logger logger = LogManager.getLogger("OPTIONS");
private final static String NB_STATE_DIR = "--statedir";
private final static String NB_STATEDIR_PATHS = "$NBSTATEDIR:$PWD/.nosqlbench:$HOME/.nosqlbench";
diff --git a/engine-cli/src/main/java/io/nosqlbench/engine/cli/PathCanonicalizer.java b/engine-cli/src/main/java/io/nosqlbench/engine/cli/PathCanonicalizer.java
index 6ddb1b090..725bbbf47 100644
--- a/engine-cli/src/main/java/io/nosqlbench/engine/cli/PathCanonicalizer.java
+++ b/engine-cli/src/main/java/io/nosqlbench/engine/cli/PathCanonicalizer.java
@@ -2,14 +2,14 @@ package io.nosqlbench.engine.cli;
import io.nosqlbench.nb.api.content.Content;
import io.nosqlbench.nb.api.content.NBIO;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
import java.nio.file.FileSystems;
import java.util.Optional;
public class PathCanonicalizer {
- private final static Logger logger = LoggerFactory.getLogger(Cmd.class);
+ private final static Logger logger = LogManager.getLogger(Cmd.class);
private final String[] includes;
diff --git a/engine-core/src/main/java/io/nosqlbench/engine/core/ActivityExecutor.java b/engine-core/src/main/java/io/nosqlbench/engine/core/ActivityExecutor.java
index daa80c130..6b0a55a88 100644
--- a/engine-core/src/main/java/io/nosqlbench/engine/core/ActivityExecutor.java
+++ b/engine-core/src/main/java/io/nosqlbench/engine/core/ActivityExecutor.java
@@ -18,8 +18,8 @@ import io.nosqlbench.engine.api.activityapi.core.*;
import io.nosqlbench.engine.api.activityimpl.ActivityDef;
import io.nosqlbench.engine.api.activityimpl.ParameterMap;
import io.nosqlbench.engine.api.activityimpl.input.ProgressCapable;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
import java.util.*;
import java.util.concurrent.ExecutorService;
@@ -46,8 +46,8 @@ import java.util.stream.Collectors;
public class ActivityExecutor implements ActivityController, ParameterMap.Listener, ProgressCapable {
- private static final Logger logger = LoggerFactory.getLogger(ActivityExecutor.class);
- private static final Logger activitylogger = LoggerFactory.getLogger("ACTIVITY");
+ private static final Logger logger = LogManager.getLogger(ActivityExecutor.class);
+ private static final Logger activitylogger = LogManager.getLogger("ACTIVITY");
private final List> motors = new ArrayList<>();
private final Activity activity;
diff --git a/engine-core/src/main/java/io/nosqlbench/engine/core/ActivityProgressIndicator.java b/engine-core/src/main/java/io/nosqlbench/engine/core/ActivityProgressIndicator.java
index b4d325767..85a26fcd3 100644
--- a/engine-core/src/main/java/io/nosqlbench/engine/core/ActivityProgressIndicator.java
+++ b/engine-core/src/main/java/io/nosqlbench/engine/core/ActivityProgressIndicator.java
@@ -22,8 +22,8 @@ import io.nosqlbench.engine.api.activityimpl.ProgressAndStateMeter;
import io.nosqlbench.engine.api.metrics.IndicatorMode;
import io.nosqlbench.engine.api.metrics.PeriodicRunnable;
import io.nosqlbench.engine.api.util.Unit;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
import java.util.Collection;
import java.util.HashSet;
@@ -32,7 +32,7 @@ import java.util.Set;
public class ActivityProgressIndicator implements Runnable {
- private final static Logger logger = LoggerFactory.getLogger(ActivityProgressIndicator.class);
+ private final static Logger logger = LogManager.getLogger(ActivityProgressIndicator.class);
private final String indicatorSpec;
private final ScenarioController sc;
private PeriodicRunnable runnable;
diff --git a/engine-core/src/main/java/io/nosqlbench/engine/core/MarkdownDocInfo.java b/engine-core/src/main/java/io/nosqlbench/engine/core/MarkdownDocInfo.java
index 1a714a464..4fa7d545e 100644
--- a/engine-core/src/main/java/io/nosqlbench/engine/core/MarkdownDocInfo.java
+++ b/engine-core/src/main/java/io/nosqlbench/engine/core/MarkdownDocInfo.java
@@ -3,17 +3,13 @@ package io.nosqlbench.engine.core;
import io.nosqlbench.engine.api.activityapi.core.ActivityType;
import io.nosqlbench.nb.api.content.Content;
import io.nosqlbench.nb.api.content.NBIO;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
-import java.io.BufferedReader;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.util.*;
-import java.util.stream.Collectors;
+import java.util.Optional;
public class MarkdownDocInfo {
- private final static Logger logger = LoggerFactory.getLogger(MarkdownDocInfo.class);
+ private final static Logger logger = LogManager.getLogger(MarkdownDocInfo.class);
public static Optional forHelpTopic(String topic) {
String help = null;
diff --git a/engine-core/src/main/java/io/nosqlbench/engine/core/PolyglotScenarioController.java b/engine-core/src/main/java/io/nosqlbench/engine/core/PolyglotScenarioController.java
index f332f93dc..cd9b0fca4 100644
--- a/engine-core/src/main/java/io/nosqlbench/engine/core/PolyglotScenarioController.java
+++ b/engine-core/src/main/java/io/nosqlbench/engine/core/PolyglotScenarioController.java
@@ -1,17 +1,16 @@
package io.nosqlbench.engine.core;
import io.nosqlbench.engine.api.activityimpl.ActivityDef;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.graalvm.polyglot.Value;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.xml.sax.helpers.AttributesImpl;
import java.security.InvalidParameterException;
import java.util.Map;
public class PolyglotScenarioController {
- private static final Logger logger = LoggerFactory.getLogger("SCENARIO/POLYGLOT");
+ private static final Logger logger = LogManager.getLogger("SCENARIO/POLYGLOT");
private final ScenarioController controller;
diff --git a/engine-core/src/main/java/io/nosqlbench/engine/core/ScenarioController.java b/engine-core/src/main/java/io/nosqlbench/engine/core/ScenarioController.java
index 337240fb5..9566333a3 100644
--- a/engine-core/src/main/java/io/nosqlbench/engine/core/ScenarioController.java
+++ b/engine-core/src/main/java/io/nosqlbench/engine/core/ScenarioController.java
@@ -21,8 +21,8 @@ import io.nosqlbench.engine.api.activityimpl.ParameterMap;
import io.nosqlbench.engine.api.activityimpl.ProgressAndStateMeter;
import io.nosqlbench.engine.api.metrics.ActivityMetrics;
import io.nosqlbench.nb.api.errors.BasicError;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
import java.security.InvalidParameterException;
import java.util.*;
@@ -34,8 +34,8 @@ import java.util.stream.Collectors;
*/
public class ScenarioController {
- private static final Logger logger = LoggerFactory.getLogger(ScenarioController.class);
- private static final Logger scenariologger = LoggerFactory.getLogger("SCENARIO");
+ private static final Logger logger = LogManager.getLogger(ScenarioController.class);
+ private static final Logger scenariologger = LogManager.getLogger("SCENARIO");
private final Map activityExecutors = new ConcurrentHashMap<>();
diff --git a/engine-core/src/main/java/io/nosqlbench/engine/core/ScenarioErrorHandler.java b/engine-core/src/main/java/io/nosqlbench/engine/core/ScenarioErrorHandler.java
index f831b0930..b149f4dff 100644
--- a/engine-core/src/main/java/io/nosqlbench/engine/core/ScenarioErrorHandler.java
+++ b/engine-core/src/main/java/io/nosqlbench/engine/core/ScenarioErrorHandler.java
@@ -2,8 +2,8 @@ package io.nosqlbench.engine.core;
import io.nosqlbench.nb.api.errors.BasicError;
import org.graalvm.polyglot.PolyglotException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
import javax.script.ScriptException;
@@ -26,7 +26,7 @@ import javax.script.ScriptException;
*/
public class ScenarioErrorHandler {
- private final static Logger logger = LoggerFactory.getLogger(ScenarioErrorHandler.class);
+ private final static Logger logger = LogManager.getLogger(ScenarioErrorHandler.class);
public static String handle(Throwable t, boolean wantsStackTraces) {
if (t instanceof ScriptException) {
diff --git a/engine-core/src/main/java/io/nosqlbench/engine/core/ScenarioResult.java b/engine-core/src/main/java/io/nosqlbench/engine/core/ScenarioResult.java
index 3f2b58065..61e491e01 100644
--- a/engine-core/src/main/java/io/nosqlbench/engine/core/ScenarioResult.java
+++ b/engine-core/src/main/java/io/nosqlbench/engine/core/ScenarioResult.java
@@ -19,17 +19,17 @@
package io.nosqlbench.engine.core;
import com.codahale.metrics.MetricFilter;
-import com.codahale.metrics.Slf4jReporter;
import io.nosqlbench.engine.api.metrics.ActivityMetrics;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import io.nosqlbench.engine.core.logging.Log4JMetricsReporter;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import java.util.Optional;
import java.util.concurrent.TimeUnit;
public class ScenarioResult {
- private final static Logger logger = LoggerFactory.getLogger(ScenarioResult.class);
+ private final static Logger logger = LogManager.getLogger(ScenarioResult.class);
private Exception exception;
private final String iolog;
@@ -45,7 +45,7 @@ public class ScenarioResult {
public void reportToLog() {
logger.info("-- BEGIN METRICS DETAIL --");
- Slf4jReporter reporter = Slf4jReporter.forRegistry(ActivityMetrics.getMetricRegistry())
+ Log4JMetricsReporter reporter = Log4JMetricsReporter.forRegistry(ActivityMetrics.getMetricRegistry())
.convertDurationsTo(TimeUnit.MICROSECONDS)
.convertRatesTo(TimeUnit.SECONDS)
.filter(MetricFilter.ALL)
diff --git a/engine-core/src/main/java/io/nosqlbench/engine/core/ScenariosResults.java b/engine-core/src/main/java/io/nosqlbench/engine/core/ScenariosResults.java
index 85ebacb85..bcaa05a26 100644
--- a/engine-core/src/main/java/io/nosqlbench/engine/core/ScenariosResults.java
+++ b/engine-core/src/main/java/io/nosqlbench/engine/core/ScenariosResults.java
@@ -19,15 +19,15 @@ package io.nosqlbench.engine.core;
import io.nosqlbench.engine.core.script.Scenario;
import io.nosqlbench.engine.core.script.ScenariosExecutor;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
import java.util.LinkedHashMap;
import java.util.Map;
public class ScenariosResults {
- private static final Logger logger = LoggerFactory.getLogger(ScenariosResults.class);
+ private static final Logger logger = LogManager.getLogger(ScenariosResults.class);
private final String scenariosExecutorName;
private final Map scenarioResultMap = new LinkedHashMap<>();
diff --git a/engine-core/src/main/java/io/nosqlbench/engine/core/logging/Log4JMetricsReporter.java b/engine-core/src/main/java/io/nosqlbench/engine/core/logging/Log4JMetricsReporter.java
new file mode 100644
index 000000000..d7d7ab6f6
--- /dev/null
+++ b/engine-core/src/main/java/io/nosqlbench/engine/core/logging/Log4JMetricsReporter.java
@@ -0,0 +1,418 @@
+package io.nosqlbench.engine.core.logging;
+
+import com.codahale.metrics.*;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.Marker;
+
+import java.util.Map.Entry;
+import java.util.SortedMap;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * This is a Log4J targeted metrics logging reporter, derived from
+ * {@link com.codahale.metrics.Slf4jReporter}. This implementation
+ * was built to allow for consolidating internal logging dependencies
+ * to log4j only.
+ */
+public class Log4JMetricsReporter extends ScheduledReporter {
+ /**
+ * Returns a new {@link Builder} for {@link Log4JMetricsReporter}.
+ *
+ * @param registry the registry to report
+ * @return a {@link Builder} instance for a {@link Log4JMetricsReporter}
+ */
+ public static Builder forRegistry(MetricRegistry registry) {
+ return new Builder(registry);
+ }
+
+ public enum LoggingLevel { TRACE, DEBUG, INFO, WARN, ERROR }
+
+ /**
+ * A builder for {@link Log4JMetricsReporter} instances. Defaults to logging to {@code metrics}, not
+ * using a marker, converting rates to events/second, converting durations to milliseconds, and
+ * not filtering metrics.
+ */
+ public static class Builder {
+ private final MetricRegistry registry;
+ private Logger logger;
+ private LoggingLevel loggingLevel;
+ private Marker marker;
+ private String prefix;
+ private TimeUnit rateUnit;
+ private TimeUnit durationUnit;
+ private MetricFilter filter;
+ private ScheduledExecutorService executor;
+ private boolean shutdownExecutorOnStop;
+
+ private Builder(MetricRegistry registry) {
+ this.registry = registry;
+ this.logger = LogManager.getLogger("metrics");
+ this.marker = null;
+ this.prefix = "";
+ this.rateUnit = TimeUnit.SECONDS;
+ this.durationUnit = TimeUnit.MILLISECONDS;
+ this.filter = MetricFilter.ALL;
+ this.loggingLevel = LoggingLevel.INFO;
+ this.executor = null;
+ this.shutdownExecutorOnStop = true;
+ }
+
+ /**
+ * Specifies whether or not, the executor (used for reporting) will be stopped with same time with reporter.
+ * Default value is true.
+ * Setting this parameter to false, has the sense in combining with providing external managed executor via {@link #scheduleOn(ScheduledExecutorService)}.
+ *
+ * @param shutdownExecutorOnStop if true, then executor will be stopped in same time with this reporter
+ * @return {@code this}
+ */
+ public Builder shutdownExecutorOnStop(boolean shutdownExecutorOnStop) {
+ this.shutdownExecutorOnStop = shutdownExecutorOnStop;
+ return this;
+ }
+
+ /**
+ * Specifies the executor to use while scheduling reporting of metrics.
+ * Default value is null.
+ * Null value leads to executor will be auto created on start.
+ *
+ * @param executor the executor to use while scheduling reporting of metrics.
+ * @return {@code this}
+ */
+ public Builder scheduleOn(ScheduledExecutorService executor) {
+ this.executor = executor;
+ return this;
+ }
+
+ /**
+ * Log metrics to the given logger.
+ *
+ * @param logger an SLF4J {@link Logger}
+ * @return {@code this}
+ */
+ public Builder outputTo(Logger logger) {
+ this.logger = logger;
+ return this;
+ }
+
+ /**
+ * Mark all logged metrics with the given marker.
+ *
+ * @param marker an SLF4J {@link Marker}
+ * @return {@code this}
+ */
+ public Builder markWith(Marker marker) {
+ this.marker = marker;
+ return this;
+ }
+
+ /**
+ * Prefix all metric names with the given string.
+ *
+ * @param prefix the prefix for all metric names
+ * @return {@code this}
+ */
+ public Builder prefixedWith(String prefix) {
+ this.prefix = prefix;
+ return this;
+ }
+
+ /**
+ * Convert rates to the given time unit.
+ *
+ * @param rateUnit a unit of time
+ * @return {@code this}
+ */
+ public Builder convertRatesTo(TimeUnit rateUnit) {
+ this.rateUnit = rateUnit;
+ return this;
+ }
+
+ /**
+ * Convert durations to the given time unit.
+ *
+ * @param durationUnit a unit of time
+ * @return {@code this}
+ */
+ public Builder convertDurationsTo(TimeUnit durationUnit) {
+ this.durationUnit = durationUnit;
+ return this;
+ }
+
+ /**
+ * Only report metrics which match the given filter.
+ *
+ * @param filter a {@link MetricFilter}
+ * @return {@code this}
+ */
+ public Builder filter(MetricFilter filter) {
+ this.filter = filter;
+ return this;
+ }
+
+ /**
+ * Use Logging Level when reporting.
+ *
+ * @param loggingLevel a (@link Slf4jReporter.LoggingLevel}
+ * @return {@code this}
+ */
+ public Builder withLoggingLevel(LoggingLevel loggingLevel) {
+ this.loggingLevel = loggingLevel;
+ return this;
+ }
+
+ /**
+ * Builds a {@link Log4JMetricsReporter} with the given properties.
+ *
+ * @return a {@link Log4JMetricsReporter}
+ */
+ public Log4JMetricsReporter build() {
+ LoggerProxy loggerProxy;
+ switch (loggingLevel) {
+ case TRACE:
+ loggerProxy = new TraceLoggerProxy(logger);
+ break;
+ case INFO:
+ loggerProxy = new InfoLoggerProxy(logger);
+ break;
+ case WARN:
+ loggerProxy = new WarnLoggerProxy(logger);
+ break;
+ case ERROR:
+ loggerProxy = new ErrorLoggerProxy(logger);
+ break;
+ default:
+ case DEBUG:
+ loggerProxy = new DebugLoggerProxy(logger);
+ break;
+ }
+ return new Log4JMetricsReporter(registry, loggerProxy, marker, prefix, rateUnit, durationUnit, filter, executor, shutdownExecutorOnStop);
+ }
+ }
+
+ private final LoggerProxy loggerProxy;
+ private final Marker marker;
+ private final String prefix;
+
+ private Log4JMetricsReporter(MetricRegistry registry,
+ LoggerProxy loggerProxy,
+ Marker marker,
+ String prefix,
+ TimeUnit rateUnit,
+ TimeUnit durationUnit,
+ MetricFilter filter,
+ ScheduledExecutorService executor,
+ boolean shutdownExecutorOnStop) {
+ super(registry, "logger-reporter", filter, rateUnit, durationUnit, executor, shutdownExecutorOnStop);
+ this.loggerProxy = loggerProxy;
+ this.marker = marker;
+ this.prefix = prefix;
+ }
+
+ @Override
+ @SuppressWarnings("rawtypes")
+ public void report(SortedMap gauges,
+ SortedMap counters,
+ SortedMap histograms,
+ SortedMap meters,
+ SortedMap timers) {
+ if (loggerProxy.isEnabled(marker)) {
+ for (Entry entry : gauges.entrySet()) {
+ logGauge(entry.getKey(), entry.getValue());
+ }
+
+ for (Entry entry : counters.entrySet()) {
+ logCounter(entry.getKey(), entry.getValue());
+ }
+
+ for (Entry entry : histograms.entrySet()) {
+ logHistogram(entry.getKey(), entry.getValue());
+ }
+
+ for (Entry entry : meters.entrySet()) {
+ logMeter(entry.getKey(), entry.getValue());
+ }
+
+ for (Entry entry : timers.entrySet()) {
+ logTimer(entry.getKey(), entry.getValue());
+ }
+ }
+ }
+
+ private void logTimer(String name, Timer timer) {
+ final Snapshot snapshot = timer.getSnapshot();
+ loggerProxy.log(marker,
+ "type={}, name={}, count={}, min={}, max={}, mean={}, stddev={}, median={}, " +
+ "p75={}, p95={}, p98={}, p99={}, p999={}, mean_rate={}, m1={}, m5={}, " +
+ "m15={}, rate_unit={}, duration_unit={}",
+ "TIMER",
+ prefix(name),
+ timer.getCount(),
+ convertDuration(snapshot.getMin()),
+ convertDuration(snapshot.getMax()),
+ convertDuration(snapshot.getMean()),
+ convertDuration(snapshot.getStdDev()),
+ convertDuration(snapshot.getMedian()),
+ convertDuration(snapshot.get75thPercentile()),
+ convertDuration(snapshot.get95thPercentile()),
+ convertDuration(snapshot.get98thPercentile()),
+ convertDuration(snapshot.get99thPercentile()),
+ convertDuration(snapshot.get999thPercentile()),
+ convertRate(timer.getMeanRate()),
+ convertRate(timer.getOneMinuteRate()),
+ convertRate(timer.getFiveMinuteRate()),
+ convertRate(timer.getFifteenMinuteRate()),
+ getRateUnit(),
+ getDurationUnit());
+ }
+
+ private void logMeter(String name, Meter meter) {
+ loggerProxy.log(marker,
+ "type={}, name={}, count={}, mean_rate={}, m1={}, m5={}, m15={}, rate_unit={}",
+ "METER",
+ prefix(name),
+ meter.getCount(),
+ convertRate(meter.getMeanRate()),
+ convertRate(meter.getOneMinuteRate()),
+ convertRate(meter.getFiveMinuteRate()),
+ convertRate(meter.getFifteenMinuteRate()),
+ getRateUnit());
+ }
+
+ private void logHistogram(String name, Histogram histogram) {
+ final Snapshot snapshot = histogram.getSnapshot();
+ loggerProxy.log(marker,
+ "type={}, name={}, count={}, min={}, max={}, mean={}, stddev={}, " +
+ "median={}, p75={}, p95={}, p98={}, p99={}, p999={}",
+ "HISTOGRAM",
+ prefix(name),
+ histogram.getCount(),
+ snapshot.getMin(),
+ snapshot.getMax(),
+ snapshot.getMean(),
+ snapshot.getStdDev(),
+ snapshot.getMedian(),
+ snapshot.get75thPercentile(),
+ snapshot.get95thPercentile(),
+ snapshot.get98thPercentile(),
+ snapshot.get99thPercentile(),
+ snapshot.get999thPercentile());
+ }
+
+ private void logCounter(String name, Counter counter) {
+ loggerProxy.log(marker, "type={}, name={}, count={}", "COUNTER", prefix(name), counter.getCount());
+ }
+
+ private void logGauge(String name, Gauge> gauge) {
+ loggerProxy.log(marker, "type={}, name={}, value={}", "GAUGE", prefix(name), gauge.getValue());
+ }
+
+ @Override
+ protected String getRateUnit() {
+ return "events/" + super.getRateUnit();
+ }
+
+ private String prefix(String... components) {
+ return MetricRegistry.name(prefix, components);
+ }
+
+ /* private class to allow logger configuration */
+ static abstract class LoggerProxy {
+ protected final Logger logger;
+
+ public LoggerProxy(Logger logger) {
+ this.logger = logger;
+ }
+
+ abstract void log(Marker marker, String format, Object... arguments);
+
+ abstract boolean isEnabled(Marker marker);
+ }
+
+ /* private class to allow logger configuration */
+ private static class DebugLoggerProxy extends LoggerProxy {
+ public DebugLoggerProxy(Logger logger) {
+ super(logger);
+ }
+
+ @Override
+ public void log(Marker marker, String format, Object... arguments) {
+ logger.debug(marker, format, arguments);
+ }
+
+ @Override
+ public boolean isEnabled(Marker marker) {
+ return logger.isDebugEnabled(marker);
+ }
+ }
+
+ /* private class to allow logger configuration */
+ private static class TraceLoggerProxy extends LoggerProxy {
+ public TraceLoggerProxy(Logger logger) {
+ super(logger);
+ }
+
+ @Override
+ public void log(Marker marker, String format, Object... arguments) {
+ logger.trace(marker, format, arguments);
+ }
+
+ @Override
+ public boolean isEnabled(Marker marker) {
+ return logger.isTraceEnabled(marker);
+ }
+ }
+
+ /* private class to allow logger configuration */
+ private static class InfoLoggerProxy extends LoggerProxy {
+ public InfoLoggerProxy(Logger logger) {
+ super(logger);
+ }
+
+ @Override
+ public void log(Marker marker, String format, Object... arguments) {
+ logger.info(marker, format, arguments);
+ }
+
+ @Override
+ public boolean isEnabled(Marker marker) {
+ return logger.isInfoEnabled(marker);
+ }
+ }
+
+ /* private class to allow logger configuration */
+ private static class WarnLoggerProxy extends LoggerProxy {
+ public WarnLoggerProxy(Logger logger) {
+ super(logger);
+ }
+
+ @Override
+ public void log(Marker marker, String format, Object... arguments) {
+ logger.warn(marker, format, arguments);
+ }
+
+ @Override
+ public boolean isEnabled(Marker marker) {
+ return logger.isWarnEnabled(marker);
+ }
+ }
+
+ /* private class to allow logger configuration */
+ private static class ErrorLoggerProxy extends LoggerProxy {
+ public ErrorLoggerProxy(Logger logger) {
+ super(logger);
+ }
+
+ @Override
+ public void log(Marker marker, String format, Object... arguments) {
+ logger.error(marker, format, arguments);
+ }
+
+ @Override
+ public boolean isEnabled(Marker marker) {
+ return logger.isErrorEnabled(marker);
+ }
+ }
+
+}
diff --git a/engine-core/src/main/java/io/nosqlbench/engine/core/metrics/MetricMap.java b/engine-core/src/main/java/io/nosqlbench/engine/core/metrics/MetricMap.java
index e5b444c64..69c314050 100644
--- a/engine-core/src/main/java/io/nosqlbench/engine/core/metrics/MetricMap.java
+++ b/engine-core/src/main/java/io/nosqlbench/engine/core/metrics/MetricMap.java
@@ -3,13 +3,13 @@ package io.nosqlbench.engine.core.metrics;
import com.codahale.metrics.Metric;
import org.graalvm.polyglot.Value;
import org.graalvm.polyglot.proxy.ProxyObject;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
import java.util.*;
public class MetricMap implements ProxyObject {
- private final static Logger logger = LoggerFactory.getLogger(MetricMap.class);
+ private final static Logger logger = LogManager.getLogger(MetricMap.class);
private final String name;
private final String parent_name;
private final HashMap map = new HashMap<>();
diff --git a/engine-core/src/main/java/io/nosqlbench/engine/core/metrics/MetricReporters.java b/engine-core/src/main/java/io/nosqlbench/engine/core/metrics/MetricReporters.java
index 8574f6edb..1b0a072ec 100644
--- a/engine-core/src/main/java/io/nosqlbench/engine/core/metrics/MetricReporters.java
+++ b/engine-core/src/main/java/io/nosqlbench/engine/core/metrics/MetricReporters.java
@@ -23,8 +23,9 @@ import com.codahale.metrics.graphite.GraphiteReporter;
import io.nosqlbench.engine.api.activityapi.core.Shutdownable;
import io.nosqlbench.engine.api.metrics.ActivityMetrics;
import io.nosqlbench.engine.core.ShutdownManager;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import io.nosqlbench.engine.core.logging.Log4JMetricsReporter;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
import java.io.File;
import java.net.InetSocketAddress;
@@ -34,7 +35,7 @@ import java.util.Locale;
import java.util.concurrent.TimeUnit;
public class MetricReporters implements Shutdownable {
- private final static Logger logger = LoggerFactory.getLogger(MetricReporters.class);
+ private final static Logger logger = LogManager.getLogger(MetricReporters.class);
private static final MetricReporters instance = new MetricReporters();
private final List metricRegistries = new ArrayList<>();
@@ -123,13 +124,14 @@ public class MetricReporters implements Shutdownable {
for (PrefixedRegistry prefixedRegistry : metricRegistries) {
- Slf4jReporter loggerReporter = Slf4jReporter.forRegistry(prefixedRegistry.metricRegistry)
+ Log4JMetricsReporter reporter4j = Log4JMetricsReporter.forRegistry(prefixedRegistry.metricRegistry)
.convertRatesTo(TimeUnit.SECONDS)
.convertDurationsTo(TimeUnit.NANOSECONDS)
.filter(ActivityMetrics.METRIC_FILTER)
.outputTo(logger)
.build();
- scheduledReporters.add(loggerReporter);
+
+ scheduledReporters.add(reporter4j);
}
return this;
}
diff --git a/engine-core/src/main/java/io/nosqlbench/engine/core/metrics/NashornMetricRegistryBindings.java b/engine-core/src/main/java/io/nosqlbench/engine/core/metrics/NashornMetricRegistryBindings.java
index 9b8d2879e..eb361ab8e 100644
--- a/engine-core/src/main/java/io/nosqlbench/engine/core/metrics/NashornMetricRegistryBindings.java
+++ b/engine-core/src/main/java/io/nosqlbench/engine/core/metrics/NashornMetricRegistryBindings.java
@@ -20,19 +20,19 @@ package io.nosqlbench.engine.core.metrics;
import com.codahale.metrics.*;
import com.codahale.metrics.Timer;
import io.nosqlbench.engine.core.script.ReadOnlyBindings;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
import java.util.*;
import java.util.stream.Collectors;
public class NashornMetricRegistryBindings extends ReadOnlyBindings implements MetricRegistryListener {
- private final static Logger logger = LoggerFactory.getLogger(NashornMetricRegistryBindings.class);
+ private final static Logger logger = LogManager.getLogger(NashornMetricRegistryBindings.class);
private final MetricRegistry registry;
- private MetricMap metricMap = new MetricMap("ROOT");
- private boolean failfast = true;
+ private final MetricMap metricMap = new MetricMap("ROOT");
+ private final boolean failfast = true;
public NashornMetricRegistryBindings(MetricRegistry registry) {
this.registry = registry;
diff --git a/engine-core/src/main/java/io/nosqlbench/engine/core/metrics/PolyglotMetricRegistryBindings.java b/engine-core/src/main/java/io/nosqlbench/engine/core/metrics/PolyglotMetricRegistryBindings.java
index beb4e327f..883f2b88f 100644
--- a/engine-core/src/main/java/io/nosqlbench/engine/core/metrics/PolyglotMetricRegistryBindings.java
+++ b/engine-core/src/main/java/io/nosqlbench/engine/core/metrics/PolyglotMetricRegistryBindings.java
@@ -17,22 +17,20 @@
package io.nosqlbench.engine.core.metrics;
-import com.codahale.metrics.Timer;
import com.codahale.metrics.*;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.graalvm.polyglot.Value;
import org.graalvm.polyglot.proxy.ProxyObject;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import java.util.ArrayList;
-import java.util.Set;
/**
* A view of metrics objects as an object tree.
*/
public class PolyglotMetricRegistryBindings implements ProxyObject, MetricRegistryListener {
- private final static Logger logger = LoggerFactory.getLogger(PolyglotMetricRegistryBindings.class);
+ private final static Logger logger = LogManager.getLogger(PolyglotMetricRegistryBindings.class);
private final MetricRegistry registry;
MetricMap metrics = new MetricMap("ROOT",null);
diff --git a/engine-core/src/main/java/io/nosqlbench/engine/core/script/MetricsMapper.java b/engine-core/src/main/java/io/nosqlbench/engine/core/script/MetricsMapper.java
index 30822b3b9..361e67411 100644
--- a/engine-core/src/main/java/io/nosqlbench/engine/core/script/MetricsMapper.java
+++ b/engine-core/src/main/java/io/nosqlbench/engine/core/script/MetricsMapper.java
@@ -20,8 +20,8 @@ import io.nosqlbench.engine.api.activityapi.core.ActivityType;
import io.nosqlbench.engine.api.activityimpl.ActivityDef;
import io.nosqlbench.engine.api.metrics.ActivityMetrics;
import io.nosqlbench.engine.core.metrics.NashornMetricRegistryBindings;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
import java.lang.reflect.Method;
import java.util.*;
@@ -34,8 +34,8 @@ import java.util.stream.Collectors;
* Find the metrics associated with an activity type by instantiating the activity in idle mode.
*/
public class MetricsMapper {
- private final static Logger logger = LoggerFactory.getLogger(MetricsMapper.class);
- private static Set> metricsElements = new HashSet<>() {{
+ private final static Logger logger = LogManager.getLogger(MetricsMapper.class);
+ private static final Set> metricsElements = new HashSet<>() {{
add(Meter.class);
add(Counter.class);
add(Timer.class);
@@ -43,12 +43,12 @@ public class MetricsMapper {
add(Gauge.class);
add(Snapshot.class);
}};
- private static Predicate isSimpleGetter = method ->
+ private static final Predicate isSimpleGetter = method ->
method.getName().startsWith("get")
&& method.getParameterCount() == 0
&& !method.getName().equals("getClass");
- private static Function getPropertyName = method ->
+ private static final Function getPropertyName = method ->
{
String mName = method.getName().substring(3, 4).toLowerCase() + method.getName().substring(4);
return mName;
diff --git a/engine-core/src/main/java/io/nosqlbench/engine/core/script/Scenario.java b/engine-core/src/main/java/io/nosqlbench/engine/core/script/Scenario.java
index 3c8a49e1e..046a36019 100644
--- a/engine-core/src/main/java/io/nosqlbench/engine/core/script/Scenario.java
+++ b/engine-core/src/main/java/io/nosqlbench/engine/core/script/Scenario.java
@@ -14,20 +14,33 @@
*/
package io.nosqlbench.engine.core.script;
-import ch.qos.logback.classic.Logger;
import com.codahale.metrics.MetricRegistry;
import com.oracle.truffle.js.scriptengine.GraalJSScriptEngine;
-import io.nosqlbench.engine.core.*;
-import io.nosqlbench.engine.core.metrics.PolyglotMetricRegistryBindings;
import io.nosqlbench.engine.api.extensions.ScriptingPluginInfo;
import io.nosqlbench.engine.api.metrics.ActivityMetrics;
-import io.nosqlbench.engine.core.metrics.NashornMetricRegistryBindings;
import io.nosqlbench.engine.api.scripting.ScriptEnvBuffer;
+import io.nosqlbench.engine.core.ActivityProgressIndicator;
+import io.nosqlbench.engine.core.PolyglotScenarioController;
+import io.nosqlbench.engine.core.ScenarioController;
+import io.nosqlbench.engine.core.ScenarioResult;
+import io.nosqlbench.engine.core.annotation.Annotators;
+import io.nosqlbench.engine.core.logging.ScenarioLogger;
+import io.nosqlbench.engine.core.metrics.NashornMetricRegistryBindings;
+import io.nosqlbench.engine.core.metrics.PolyglotMetricRegistryBindings;
+import io.nosqlbench.nb.api.Layer;
+import io.nosqlbench.nb.api.annotations.Annotation;
import jdk.nashorn.api.scripting.NashornScriptEngineFactory;
-import org.graalvm.polyglot.*;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.graalvm.polyglot.Context;
+import org.graalvm.polyglot.EnvironmentAccess;
+import org.graalvm.polyglot.HostAccess;
+import org.graalvm.polyglot.PolyglotAccess;
-import javax.script.*;
+import javax.script.Compilable;
+import javax.script.CompiledScript;
+import javax.script.ScriptEngine;
+import javax.script.ScriptEngineManager;
import java.io.BufferedReader;
import java.io.IOException;
import java.nio.ByteBuffer;
@@ -46,7 +59,7 @@ import java.util.stream.Collectors;
public class Scenario implements Callable {
- private static final Logger logger = (Logger) LoggerFactory.getLogger("SCENARIO");
+ private static final Logger logger = LogManager.getLogger("SCENARIO");
private State state = State.Scheduled;
@@ -202,8 +215,8 @@ public class Scenario implements Callable {
continue;
}
- org.slf4j.Logger extensionLogger =
- LoggerFactory.getLogger("extensions." + extensionDescriptor.getBaseVariableName());
+ Logger extensionLogger =
+ LogManager.getLogger("extensions." + extensionDescriptor.getBaseVariableName());
Object extensionObject = extensionDescriptor.getExtensionObject(
extensionLogger,
metricRegistry,
diff --git a/engine-core/src/main/java/io/nosqlbench/engine/core/script/ScenariosExecutor.java b/engine-core/src/main/java/io/nosqlbench/engine/core/script/ScenariosExecutor.java
index 26a8ab152..6a0c2927f 100644
--- a/engine-core/src/main/java/io/nosqlbench/engine/core/script/ScenariosExecutor.java
+++ b/engine-core/src/main/java/io/nosqlbench/engine/core/script/ScenariosExecutor.java
@@ -17,18 +17,24 @@
package io.nosqlbench.engine.core.script;
+import io.nosqlbench.engine.core.IndexedThreadFactory;
+import io.nosqlbench.engine.core.ScenarioController;
+import io.nosqlbench.engine.core.ScenarioResult;
+import io.nosqlbench.engine.core.ScenariosResults;
+import io.nosqlbench.engine.core.logging.SessionLogConfig;
+import io.nosqlbench.engine.core.logging.ScenarioLogger;
import io.nosqlbench.nb.api.errors.BasicError;
-import io.nosqlbench.engine.core.*;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import java.nio.file.Path;
import java.util.*;
import java.util.concurrent.*;
import java.util.stream.Collectors;
public class ScenariosExecutor {
- private final static Logger logger = LoggerFactory.getLogger(ScenariosExecutor.class);
+ private final static Logger logger = LogManager.getLogger(ScenariosExecutor.class);
private final LinkedHashMap submitted = new LinkedHashMap<>();
private final ExecutorService executor;
diff --git a/engine-core/src/main/java/io/nosqlbench/engine/core/script/ScriptParams.java b/engine-core/src/main/java/io/nosqlbench/engine/core/script/ScriptParams.java
index eae775033..622ff3a78 100644
--- a/engine-core/src/main/java/io/nosqlbench/engine/core/script/ScriptParams.java
+++ b/engine-core/src/main/java/io/nosqlbench/engine/core/script/ScriptParams.java
@@ -17,20 +17,17 @@
package io.nosqlbench.engine.core.script;
-import ch.qos.logback.classic.Logger;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import io.nosqlbench.nb.api.errors.BasicError;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.graalvm.polyglot.Value;
-import org.graalvm.polyglot.proxy.Proxy;
import org.graalvm.polyglot.proxy.ProxyObject;
-import org.slf4j.LoggerFactory;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.Flow;
import java.util.function.Function;
import java.util.stream.Collectors;
@@ -39,7 +36,7 @@ import java.util.stream.Collectors;
*/
public class ScriptParams extends HashMap implements ProxyObject {
- private static final Logger logger = (Logger) LoggerFactory.getLogger(ScriptParams.class);
+ private static final Logger logger = LogManager.getLogger(ScriptParams.class);
private static final Gson gson = new GsonBuilder().setPrettyPrinting().create();
public ScriptParams withOverrides(Object overrides) {
diff --git a/engine-core/src/test/java/io/nosqlbench/engine/core/ActivityExecutorTest.java b/engine-core/src/test/java/io/nosqlbench/engine/core/ActivityExecutorTest.java
index daa6bed16..f0c2c33ed 100644
--- a/engine-core/src/test/java/io/nosqlbench/engine/core/ActivityExecutorTest.java
+++ b/engine-core/src/test/java/io/nosqlbench/engine/core/ActivityExecutorTest.java
@@ -12,8 +12,8 @@ import io.nosqlbench.engine.api.activityimpl.input.CoreInputDispenser;
import io.nosqlbench.engine.api.activityimpl.input.AtomicInput;
import io.nosqlbench.engine.api.activityimpl.motor.CoreMotor;
import io.nosqlbench.engine.api.activityimpl.motor.CoreMotorDispenser;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
import org.junit.Test;
import java.util.Optional;
@@ -35,7 +35,7 @@ import static org.assertj.core.api.Assertions.assertThat;
* limitations under the License.
*/
public class ActivityExecutorTest {
- private static final Logger logger = LoggerFactory.getLogger(ActivityExecutorTest.class);
+ private static final Logger logger = LogManager.getLogger(ActivityExecutorTest.class);
@Test
public void testRestart() {
@@ -148,7 +148,7 @@ public class ActivityExecutorTest {
}
private static class DelayedInitActivity extends SimpleActivity {
- private static Logger logger = LoggerFactory.getLogger(DelayedInitActivity.class);
+ private static final Logger logger = LogManager.getLogger(DelayedInitActivity.class);
public DelayedInitActivity(ActivityDef activityDef) {
super(activityDef);
diff --git a/engine-docker/src/main/java/io/nosqlbench/engine/docker/DockerHelper.java b/engine-docker/src/main/java/io/nosqlbench/engine/docker/DockerHelper.java
index 812b737b4..b18a8855b 100644
--- a/engine-docker/src/main/java/io/nosqlbench/engine/docker/DockerHelper.java
+++ b/engine-docker/src/main/java/io/nosqlbench/engine/docker/DockerHelper.java
@@ -12,8 +12,8 @@ import com.github.dockerjava.core.command.LogContainerResultCallback;
import com.github.dockerjava.core.command.PullImageResultCallback;
import com.github.dockerjava.okhttp.OkHttpDockerCmdExecFactory;
import com.sun.security.auth.module.UnixSystem;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
import java.util.ArrayList;
import java.util.Arrays;
@@ -30,7 +30,7 @@ public class DockerHelper {
private final DockerClientConfig config;
private final DockerClient dockerClient;
- private final Logger logger = LoggerFactory.getLogger(DockerHelper.class);
+ private final Logger logger = LogManager.getLogger(DockerHelper.class);
public DockerHelper() {
System.getProperties().setProperty(DOCKER_HOST, DOCKER_HOST_ADDR);
diff --git a/engine-docker/src/main/java/io/nosqlbench/engine/docker/DockerMetricsManager.java b/engine-docker/src/main/java/io/nosqlbench/engine/docker/DockerMetricsManager.java
index eac7a6edd..3cf593765 100644
--- a/engine-docker/src/main/java/io/nosqlbench/engine/docker/DockerMetricsManager.java
+++ b/engine-docker/src/main/java/io/nosqlbench/engine/docker/DockerMetricsManager.java
@@ -14,8 +14,8 @@ import com.github.dockerjava.core.async.ResultCallbackTemplate;
import com.github.dockerjava.core.command.LogContainerResultCallback;
import io.nosqlbench.nb.api.content.Content;
import io.nosqlbench.nb.api.content.NBIO;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
import java.io.*;
import java.nio.file.Files;
@@ -34,7 +34,7 @@ public class DockerMetricsManager {
String userHome = System.getProperty("user.home");
- private final Logger logger = LoggerFactory.getLogger(DockerMetricsManager.class);
+ private final Logger logger = LogManager.getLogger(DockerMetricsManager.class);
public DockerMetricsManager() {
dh = new DockerHelper();
diff --git a/engine-docker/src/main/java/io/nosqlbench/engine/docker/RestHelper.java b/engine-docker/src/main/java/io/nosqlbench/engine/docker/RestHelper.java
index 2dd3fc03c..323a67818 100644
--- a/engine-docker/src/main/java/io/nosqlbench/engine/docker/RestHelper.java
+++ b/engine-docker/src/main/java/io/nosqlbench/engine/docker/RestHelper.java
@@ -1,9 +1,8 @@
package io.nosqlbench.engine.docker;
-import io.nosqlbench.nb.api.content.NBIO;
import io.nosqlbench.nb.api.errors.BasicError;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import java.net.URI;
import java.net.http.HttpClient;
@@ -13,7 +12,7 @@ import java.util.Base64;
import java.util.function.Supplier;
public class RestHelper {
- private static Logger logger = LoggerFactory.getLogger(RestHelper.class);
+ private static final Logger logger = LogManager.getLogger(RestHelper.class);
static HttpClient.Builder clientBuilder = HttpClient.newBuilder();
static HttpClient httpClient = clientBuilder.build();
diff --git a/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/csvmetrics/CSVMetrics.java b/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/csvmetrics/CSVMetrics.java
index 983944c20..d05bffe14 100644
--- a/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/csvmetrics/CSVMetrics.java
+++ b/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/csvmetrics/CSVMetrics.java
@@ -20,7 +20,7 @@ package io.nosqlbench.engine.extensions.csvmetrics;
import com.codahale.metrics.CsvReporter;
import com.codahale.metrics.Metric;
import com.codahale.metrics.MetricRegistry;
-import org.slf4j.Logger;
+import org.apache.logging.log4j.Logger;
import java.io.File;
import java.util.concurrent.TimeUnit;
@@ -90,7 +90,7 @@ public class CSVMetrics {
return this;
}
- private MetricInstanceFilter filter = new MetricInstanceFilter();
+ private final MetricInstanceFilter filter = new MetricInstanceFilter();
public CSVMetrics stop() {
reporter.stop();
diff --git a/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/csvmetrics/CSVMetricsPlugin.java b/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/csvmetrics/CSVMetricsPlugin.java
index 083e2b62f..f6f4bb69e 100644
--- a/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/csvmetrics/CSVMetricsPlugin.java
+++ b/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/csvmetrics/CSVMetricsPlugin.java
@@ -18,7 +18,7 @@
package io.nosqlbench.engine.extensions.csvmetrics;
import com.codahale.metrics.MetricRegistry;
-import org.slf4j.Logger;
+import org.apache.logging.log4j.Logger;
import javax.script.ScriptContext;
import java.io.IOException;
diff --git a/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/csvmetrics/CSVMetricsPluginData.java b/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/csvmetrics/CSVMetricsPluginData.java
index 90b127d5c..4ea0f8a54 100644
--- a/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/csvmetrics/CSVMetricsPluginData.java
+++ b/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/csvmetrics/CSVMetricsPluginData.java
@@ -20,7 +20,7 @@ package io.nosqlbench.engine.extensions.csvmetrics;
import com.codahale.metrics.MetricRegistry;
import io.nosqlbench.engine.api.extensions.ScriptingPluginInfo;
import io.nosqlbench.nb.annotations.Service;
-import org.slf4j.Logger;
+import org.apache.logging.log4j.Logger;
import javax.script.ScriptContext;
diff --git a/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/example/ExamplePluginData.java b/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/example/ExamplePluginData.java
index 231abe85b..76e04dd61 100644
--- a/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/example/ExamplePluginData.java
+++ b/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/example/ExamplePluginData.java
@@ -20,7 +20,7 @@ package io.nosqlbench.engine.extensions.example;
import com.codahale.metrics.MetricRegistry;
import io.nosqlbench.engine.api.extensions.ScriptingPluginInfo;
import io.nosqlbench.nb.annotations.Service;
-import org.slf4j.Logger;
+import org.apache.logging.log4j.Logger;
import javax.script.ScriptContext;
diff --git a/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/files/FileAccessPluginData.java b/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/files/FileAccessPluginData.java
index e1b82d94f..cada7c61a 100644
--- a/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/files/FileAccessPluginData.java
+++ b/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/files/FileAccessPluginData.java
@@ -20,7 +20,7 @@ package io.nosqlbench.engine.extensions.files;
import com.codahale.metrics.MetricRegistry;
import io.nosqlbench.engine.api.extensions.ScriptingPluginInfo;
import io.nosqlbench.nb.annotations.Service;
-import org.slf4j.Logger;
+import org.apache.logging.log4j.Logger;
import javax.script.ScriptContext;
diff --git a/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/globalvars/GlobalVarsScriptingPluginData.java b/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/globalvars/GlobalVarsScriptingPluginData.java
index f0435ec70..977aa1002 100644
--- a/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/globalvars/GlobalVarsScriptingPluginData.java
+++ b/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/globalvars/GlobalVarsScriptingPluginData.java
@@ -4,7 +4,7 @@ import com.codahale.metrics.MetricRegistry;
import io.nosqlbench.engine.api.extensions.ScriptingPluginInfo;
import io.nosqlbench.nb.annotations.Service;
import io.nosqlbench.virtdata.library.basics.core.threadstate.SharedState;
-import org.slf4j.Logger;
+import org.apache.logging.log4j.Logger;
import javax.script.ScriptContext;
import java.util.concurrent.ConcurrentHashMap;
diff --git a/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/histologger/HdrHistoLogPlugin.java b/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/histologger/HdrHistoLogPlugin.java
index 9f620e572..c4b5ba203 100644
--- a/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/histologger/HdrHistoLogPlugin.java
+++ b/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/histologger/HdrHistoLogPlugin.java
@@ -19,14 +19,14 @@ package io.nosqlbench.engine.extensions.histologger;
import com.codahale.metrics.MetricRegistry;
import io.nosqlbench.engine.api.metrics.ActivityMetrics;
-import org.slf4j.Logger;
+import org.apache.logging.log4j.Logger;
import javax.script.ScriptContext;
public class HdrHistoLogPlugin {
- private Logger logger;
- private MetricRegistry metricRegistry;
- private ScriptContext scriptContext;
+ private final Logger logger;
+ private final MetricRegistry metricRegistry;
+ private final ScriptContext scriptContext;
public HdrHistoLogPlugin(Logger logger, MetricRegistry metricRegistry, ScriptContext scriptContext) {
this.logger = logger;
diff --git a/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/histologger/HdrHistoLogPluginData.java b/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/histologger/HdrHistoLogPluginData.java
index 54fd1848b..12358340f 100644
--- a/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/histologger/HdrHistoLogPluginData.java
+++ b/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/histologger/HdrHistoLogPluginData.java
@@ -20,7 +20,7 @@ package io.nosqlbench.engine.extensions.histologger;
import com.codahale.metrics.MetricRegistry;
import io.nosqlbench.engine.api.extensions.ScriptingPluginInfo;
import io.nosqlbench.nb.annotations.Service;
-import org.slf4j.Logger;
+import org.apache.logging.log4j.Logger;
import javax.script.ScriptContext;
diff --git a/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/histostatslogger/HistoStatsPlugin.java b/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/histostatslogger/HistoStatsPlugin.java
index 25530b804..50bd667f9 100644
--- a/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/histostatslogger/HistoStatsPlugin.java
+++ b/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/histostatslogger/HistoStatsPlugin.java
@@ -19,15 +19,15 @@ package io.nosqlbench.engine.extensions.histostatslogger;
import com.codahale.metrics.MetricRegistry;
import io.nosqlbench.engine.api.metrics.ActivityMetrics;
-import org.slf4j.Logger;
+import org.apache.logging.log4j.Logger;
import javax.script.ScriptContext;
public class HistoStatsPlugin {
- private Logger logger;
- private MetricRegistry metricRegistry;
- private ScriptContext scriptContext;
+ private final Logger logger;
+ private final MetricRegistry metricRegistry;
+ private final ScriptContext scriptContext;
public HistoStatsPlugin(Logger logger, MetricRegistry metricRegistry, ScriptContext scriptContext) {
this.logger = logger;
diff --git a/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/histostatslogger/HistoStatsPluginData.java b/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/histostatslogger/HistoStatsPluginData.java
index 143243d35..b511736f7 100644
--- a/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/histostatslogger/HistoStatsPluginData.java
+++ b/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/histostatslogger/HistoStatsPluginData.java
@@ -20,7 +20,7 @@ package io.nosqlbench.engine.extensions.histostatslogger;
import com.codahale.metrics.MetricRegistry;
import io.nosqlbench.engine.api.extensions.ScriptingPluginInfo;
import io.nosqlbench.nb.annotations.Service;
-import org.slf4j.Logger;
+import org.apache.logging.log4j.Logger;
import javax.script.ScriptContext;
diff --git a/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/http/HttpPluginData.java b/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/http/HttpPluginData.java
index bfaf28171..98b4063c8 100644
--- a/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/http/HttpPluginData.java
+++ b/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/http/HttpPluginData.java
@@ -2,9 +2,8 @@ package io.nosqlbench.engine.extensions.http;
import com.codahale.metrics.MetricRegistry;
import io.nosqlbench.engine.api.extensions.ScriptingPluginInfo;
-import io.nosqlbench.engine.extensions.optimizers.BobyqaOptimizerPlugin;
import io.nosqlbench.nb.annotations.Service;
-import org.slf4j.Logger;
+import org.apache.logging.log4j.Logger;
import javax.script.ScriptContext;
diff --git a/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/optimizers/BobyqaOptimizerInstance.java b/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/optimizers/BobyqaOptimizerInstance.java
index 951b0faac..58366bdfc 100644
--- a/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/optimizers/BobyqaOptimizerInstance.java
+++ b/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/optimizers/BobyqaOptimizerInstance.java
@@ -24,7 +24,7 @@ import org.apache.commons.math3.optim.*;
import org.apache.commons.math3.optim.nonlinear.scalar.GoalType;
import org.apache.commons.math3.optim.nonlinear.scalar.ObjectiveFunction;
import org.apache.commons.math3.optim.nonlinear.scalar.noderiv.BOBYQAOptimizer;
-import org.slf4j.Logger;
+import org.apache.logging.log4j.Logger;
import javax.script.ScriptContext;
import java.util.Arrays;
@@ -41,7 +41,7 @@ public class BobyqaOptimizerInstance {
private double initialTrustRegionRadius = Double.MAX_VALUE;
private double stoppingTrustRegionRadius = 1.0D;
- private MVParams params = new MVParams();
+ private final MVParams params = new MVParams();
private MultivariateFunction objectiveFunctionFromScript;
private SimpleBounds bounds;
diff --git a/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/optimizers/BobyqaOptimizerPlugin.java b/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/optimizers/BobyqaOptimizerPlugin.java
index 52ff2385b..c8e23ab63 100644
--- a/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/optimizers/BobyqaOptimizerPlugin.java
+++ b/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/optimizers/BobyqaOptimizerPlugin.java
@@ -18,7 +18,7 @@
package io.nosqlbench.engine.extensions.optimizers;
import com.codahale.metrics.MetricRegistry;
-import org.slf4j.Logger;
+import org.apache.logging.log4j.Logger;
import javax.script.ScriptContext;
diff --git a/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/optimizers/BobyqaOptimizerPluginData.java b/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/optimizers/BobyqaOptimizerPluginData.java
index 5cdc97fe8..c7e1cb139 100644
--- a/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/optimizers/BobyqaOptimizerPluginData.java
+++ b/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/optimizers/BobyqaOptimizerPluginData.java
@@ -20,7 +20,7 @@ package io.nosqlbench.engine.extensions.optimizers;
import com.codahale.metrics.MetricRegistry;
import io.nosqlbench.engine.api.extensions.ScriptingPluginInfo;
import io.nosqlbench.nb.annotations.Service;
-import org.slf4j.Logger;
+import org.apache.logging.log4j.Logger;
import javax.script.ScriptContext;
diff --git a/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/optimizers/MultivariateArrayScript.java b/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/optimizers/MultivariateArrayScript.java
index 808cc924e..b8a1231a7 100644
--- a/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/optimizers/MultivariateArrayScript.java
+++ b/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/optimizers/MultivariateArrayScript.java
@@ -2,7 +2,7 @@ package io.nosqlbench.engine.extensions.optimizers;
import jdk.nashorn.api.scripting.ScriptObjectMirror;
import org.apache.commons.math3.analysis.MultivariateFunction;
-import org.slf4j.Logger;
+import org.apache.logging.log4j.Logger;
import java.security.InvalidParameterException;
import java.util.HashMap;
@@ -11,7 +11,7 @@ import java.util.Map;
public class MultivariateArrayScript implements MultivariateFunction {
private final ScriptObjectMirror script;
private final MVParams params;
- private Logger logger;
+ private final Logger logger;
public MultivariateArrayScript(Logger logger, MVParams params, ScriptObjectMirror script) {
this.logger = logger;
diff --git a/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/optimizers/MultivariateDynamicScript.java b/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/optimizers/MultivariateDynamicScript.java
index a5d4d3f58..59bc90855 100644
--- a/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/optimizers/MultivariateDynamicScript.java
+++ b/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/optimizers/MultivariateDynamicScript.java
@@ -2,7 +2,7 @@ package io.nosqlbench.engine.extensions.optimizers;
import jdk.nashorn.api.scripting.ScriptObjectMirror;
import org.apache.commons.math3.analysis.MultivariateFunction;
-import org.slf4j.Logger;
+import org.apache.logging.log4j.Logger;
import java.security.InvalidParameterException;
import java.util.Arrays;
@@ -10,7 +10,7 @@ import java.util.Arrays;
public class MultivariateDynamicScript implements MultivariateFunction {
private final ScriptObjectMirror script;
private final int varcount;
- private Logger logger;
+ private final Logger logger;
public MultivariateDynamicScript(Logger logger, int varcount, ScriptObjectMirror script) {
this.logger = logger;
diff --git a/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/optimizers/NashornMultivariateObjectScript.java b/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/optimizers/NashornMultivariateObjectScript.java
index 2a0cd70a0..a4d2940c5 100644
--- a/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/optimizers/NashornMultivariateObjectScript.java
+++ b/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/optimizers/NashornMultivariateObjectScript.java
@@ -2,7 +2,7 @@ package io.nosqlbench.engine.extensions.optimizers;
import jdk.nashorn.api.scripting.ScriptObjectMirror;
import org.apache.commons.math3.analysis.MultivariateFunction;
-import org.slf4j.Logger;
+import org.apache.logging.log4j.Logger;
import java.security.InvalidParameterException;
import java.util.HashMap;
@@ -11,7 +11,7 @@ import java.util.Map;
public class NashornMultivariateObjectScript implements MultivariateFunction {
private final ScriptObjectMirror script;
private final MVParams params;
- private Logger logger;
+ private final Logger logger;
public NashornMultivariateObjectScript(Logger logger, MVParams params, ScriptObjectMirror script) {
this.logger = logger;
diff --git a/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/optimizers/PolyglotMultivariateObjectScript.java b/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/optimizers/PolyglotMultivariateObjectScript.java
index c4d9be30d..03532c39e 100644
--- a/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/optimizers/PolyglotMultivariateObjectScript.java
+++ b/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/optimizers/PolyglotMultivariateObjectScript.java
@@ -2,7 +2,7 @@ package io.nosqlbench.engine.extensions.optimizers;
import org.apache.commons.math3.analysis.MultivariateFunction;
import org.graalvm.polyglot.proxy.ProxyObject;
-import org.slf4j.Logger;
+import org.apache.logging.log4j.Logger;
import java.security.InvalidParameterException;
import java.util.HashMap;
diff --git a/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/scriptingmetrics/ScriptingMetrics.java b/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/scriptingmetrics/ScriptingMetrics.java
index 5918f541a..2f9785dba 100644
--- a/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/scriptingmetrics/ScriptingMetrics.java
+++ b/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/scriptingmetrics/ScriptingMetrics.java
@@ -19,14 +19,14 @@ package io.nosqlbench.engine.extensions.scriptingmetrics;
import com.codahale.metrics.MetricRegistry;
import io.nosqlbench.engine.api.metrics.ActivityMetrics;
-import org.slf4j.Logger;
+import org.apache.logging.log4j.Logger;
import javax.script.ScriptContext;
public class ScriptingMetrics {
- private Logger logger;
- private MetricRegistry metricRegistry;
- private ScriptContext scriptContext;
+ private final Logger logger;
+ private final MetricRegistry metricRegistry;
+ private final ScriptContext scriptContext;
public ScriptingMetrics(Logger logger, MetricRegistry metricRegistry, ScriptContext scriptContext) {
diff --git a/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/scriptingmetrics/ScriptingMetricsPluginData.java b/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/scriptingmetrics/ScriptingMetricsPluginData.java
index 1547a5caf..5596ed36b 100644
--- a/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/scriptingmetrics/ScriptingMetricsPluginData.java
+++ b/engine-extensions/src/main/java/io/nosqlbench/engine/extensions/scriptingmetrics/ScriptingMetricsPluginData.java
@@ -20,7 +20,7 @@ package io.nosqlbench.engine.extensions.scriptingmetrics;
import com.codahale.metrics.MetricRegistry;
import io.nosqlbench.engine.api.extensions.ScriptingPluginInfo;
import io.nosqlbench.nb.annotations.Service;
-import org.slf4j.Logger;
+import org.apache.logging.log4j.Logger;
import javax.script.ScriptContext;
diff --git a/engine-rest/src/main/java/io/nosqlbench/engine/rest/resources/ScenarioExecutorEndpoint.java b/engine-rest/src/main/java/io/nosqlbench/engine/rest/resources/ScenarioExecutorEndpoint.java
index 276f3b494..d28f7fdae 100644
--- a/engine-rest/src/main/java/io/nosqlbench/engine/rest/resources/ScenarioExecutorEndpoint.java
+++ b/engine-rest/src/main/java/io/nosqlbench/engine/rest/resources/ScenarioExecutorEndpoint.java
@@ -5,8 +5,9 @@ import io.nosqlbench.engine.cli.BasicScriptBuffer;
import io.nosqlbench.engine.cli.Cmd;
import io.nosqlbench.engine.cli.NBCLICommandParser;
import io.nosqlbench.engine.cli.ScriptBuffer;
-import io.nosqlbench.engine.core.ScenarioLogger;
import io.nosqlbench.engine.core.ScenarioResult;
+import io.nosqlbench.engine.core.logging.SessionLogConfig;
+import io.nosqlbench.engine.core.logging.ScenarioLogger;
import io.nosqlbench.engine.core.script.Scenario;
import io.nosqlbench.engine.core.script.ScenariosExecutor;
import io.nosqlbench.engine.rest.services.WorkSpace;
@@ -45,7 +46,7 @@ public class ScenarioExecutorEndpoint implements WebServiceObject {
public synchronized Response cancelScenario(@PathParam("scenario") String scenario) {
try {
executor.deleteScenario(scenario);
- return Response.ok("canceled '" + scenario +"' and removed it").build();
+ return Response.ok("canceled '" + scenario + "' and removed it").build();
} catch (Exception e) {
return Response.serverError().entity(e.getMessage()).build();
}
@@ -57,8 +58,8 @@ public class ScenarioExecutorEndpoint implements WebServiceObject {
@Produces(MediaType.APPLICATION_JSON)
public synchronized Response stopScenario(@PathParam("scenario") String scenario) {
try {
- executor.stopScenario(scenario,false);
- return Response.ok("stopped '" + scenario +"' without removing it").build();
+ executor.stopScenario(scenario, false);
+ return Response.ok("stopped '" + scenario + "' without removing it").build();
} catch (Exception e) {
return Response.serverError().entity(e.getMessage()).build();
}
@@ -77,9 +78,9 @@ public class ScenarioExecutorEndpoint implements WebServiceObject {
rq.setScenarioName("scenario" + System.currentTimeMillis());
}
org.joda.time.format.DateTimeFormatter dtf = DateTimeFormat.forPattern("yyyyMMddHHmmssSSS");
- name=name.replaceAll("EPOCHMS", String.valueOf(System.currentTimeMillis()));
- name=name.replaceAll("DATESTAMP", dtf.print(new DateTime()));
- name=name.replaceAll("[:/ ]","");
+ name = name.replaceAll("EPOCHMS", String.valueOf(System.currentTimeMillis()));
+ name = name.replaceAll("DATESTAMP", dtf.print(new DateTime()));
+ name = name.replaceAll("[:/ ]", "");
rq.setScenarioName(name);
WorkSpace workspace = new WorkspaceFinder(config).getWorkspace(rq.getWorkspace());
@@ -103,24 +104,25 @@ public class ScenarioExecutorEndpoint implements WebServiceObject {
buffer.add(cmdList.toArray(new Cmd[0]));
Scenario scenario = new Scenario(
- rq.getScenarioName(),
- "",
- Scenario.Engine.Graalvm,
- "disabled",
- false,
- true,
- false
+ rq.getScenarioName(),
+ "",
+ Scenario.Engine.Graalvm,
+ "disabled",
+ false,
+ true,
+ false
);
scenario.addScriptText(buffer.getParsedScript());
- ScenarioLogger logger = new ScenarioLogger(scenario)
- .setLogDir(workspace.getWorkspacePath().resolve("logs").toString());
+ ScenarioLogger logger = new SessionLogConfig(scenario.getScenarioName())
+ .setLogDir(workspace.getWorkspacePath().resolve("logs"))
+ .start();
executor.execute(scenario, logger);
return Response.created(UriBuilder.fromResource(ScenarioExecutorEndpoint.class).path(
- "scenario/" + rq.getScenarioName()).build()).entity("started").build();
+ "scenario/" + rq.getScenarioName()).build()).entity("started").build();
}
diff --git a/mvn-defaults/pom.xml b/mvn-defaults/pom.xml
index 7d44e8a69..e3711bf9e 100644
--- a/mvn-defaults/pom.xml
+++ b/mvn-defaults/pom.xml
@@ -110,19 +110,13 @@
org.apache.logging.log4j
log4j-api
- ${log4j.version}
+ 2.13.3
org.apache.logging.log4j
log4j-core
- ${log4j.version}
-
-
-
- ch.qos.logback
- logback-classic
- ${logback.version}
+ 2.13.3
@@ -161,11 +155,11 @@
${commons.text.version}
-
- org.slf4j
- slf4j-api
- ${slf4j.version}
-
+
+
+
+
+
org.openjdk.jmh
diff --git a/nb-api/src/main/java/io/nosqlbench/nb/api/config/Synonyms.java b/nb-api/src/main/java/io/nosqlbench/nb/api/config/Synonyms.java
index 07a562c2e..ff7891f8e 100644
--- a/nb-api/src/main/java/io/nosqlbench/nb/api/config/Synonyms.java
+++ b/nb-api/src/main/java/io/nosqlbench/nb/api/config/Synonyms.java
@@ -1,6 +1,6 @@
package io.nosqlbench.nb.api.config;
-import org.slf4j.Logger;
+import org.apache.logging.log4j.Logger;
import java.util.*;
import java.util.function.BiConsumer;
diff --git a/nb-api/src/main/java/io/nosqlbench/nb/api/content/PathFinder.java b/nb-api/src/main/java/io/nosqlbench/nb/api/content/PathFinder.java
index 4c5eb4b16..fc478809b 100644
--- a/nb-api/src/main/java/io/nosqlbench/nb/api/content/PathFinder.java
+++ b/nb-api/src/main/java/io/nosqlbench/nb/api/content/PathFinder.java
@@ -1,8 +1,8 @@
package io.nosqlbench.nb.api.content;
import io.nosqlbench.nb.api.errors.BasicError;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
import java.io.IOException;
import java.io.InputStream;
@@ -20,7 +20,7 @@ import java.util.stream.Collectors;
*/
public class PathFinder {
- private final static Logger logger = LoggerFactory.getLogger(PathFinder.class);
+ private final static Logger logger = LogManager.getLogger(PathFinder.class);
/**
* Find exactly zero or one matching Paths, and return an {@link Optional} of {@link Path}.
diff --git a/nb-api/src/main/java/io/nosqlbench/nb/api/content/ResolverForURL.java b/nb-api/src/main/java/io/nosqlbench/nb/api/content/ResolverForURL.java
index f533bec0f..53f609848 100644
--- a/nb-api/src/main/java/io/nosqlbench/nb/api/content/ResolverForURL.java
+++ b/nb-api/src/main/java/io/nosqlbench/nb/api/content/ResolverForURL.java
@@ -1,22 +1,20 @@
package io.nosqlbench.nb.api.content;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import java.io.IOException;
import java.io.InputStream;
import java.net.URI;
import java.net.URL;
import java.nio.file.Path;
-import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
-import java.util.Optional;
public class ResolverForURL implements ContentResolver {
public static final ContentResolver INSTANCE = new ResolverForURL();
- private final static Logger logger = LoggerFactory.getLogger(ResolverForURL.class);
+ private final static Logger logger = LogManager.getLogger(ResolverForURL.class);
@Override
public List> resolve(URI uri) {
diff --git a/nb/src/test/java/io/nosqlbench/engine/core/script/AsyncScriptIntegrationTests.java b/nb/src/test/java/io/nosqlbench/engine/core/script/AsyncScriptIntegrationTests.java
index 37e822d81..dddc9c0a3 100644
--- a/nb/src/test/java/io/nosqlbench/engine/core/script/AsyncScriptIntegrationTests.java
+++ b/nb/src/test/java/io/nosqlbench/engine/core/script/AsyncScriptIntegrationTests.java
@@ -17,9 +17,10 @@
package io.nosqlbench.engine.core.script;
-import io.nosqlbench.engine.core.ScenarioLogger;
import io.nosqlbench.engine.core.ScenarioResult;
import io.nosqlbench.engine.core.ScenariosResults;
+import io.nosqlbench.engine.core.logging.SessionLogConfig;
+import io.nosqlbench.engine.core.logging.ScenarioLogger;
import org.apache.commons.compress.utils.IOUtils;
import org.assertj.core.data.Offset;
import org.junit.BeforeClass;
diff --git a/nb/src/test/java/io/nosqlbench/engine/core/script/NBCliIntegrationTests.java b/nb/src/test/java/io/nosqlbench/engine/core/script/NBCliIntegrationTests.java
index 47743eb8d..13476189f 100644
--- a/nb/src/test/java/io/nosqlbench/engine/core/script/NBCliIntegrationTests.java
+++ b/nb/src/test/java/io/nosqlbench/engine/core/script/NBCliIntegrationTests.java
@@ -20,8 +20,8 @@ package io.nosqlbench.engine.core.script;
import io.nosqlbench.cli.testing.ProcessInvoker;
import io.nosqlbench.cli.testing.ProcessResult;
import org.junit.Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
import java.util.Optional;
@@ -30,7 +30,7 @@ import static org.assertj.core.api.Assertions.assertThat;
public class NBCliIntegrationTests {
private final static String JARNAME = "target/nb.jar";
- private Logger logger = LoggerFactory.getLogger(NBCliIntegrationTests.class);
+ private final Logger logger = LogManager.getLogger(NBCliIntegrationTests.class);
private final String java = Optional.ofNullable(System.getenv(
"JAVA_HOME")).map(v -> v+"/bin/java").orElse("java");
diff --git a/nb/src/test/java/io/nosqlbench/engine/core/script/ScriptIntegrationTests.java b/nb/src/test/java/io/nosqlbench/engine/core/script/ScriptIntegrationTests.java
index 49c3e2542..5d210b544 100644
--- a/nb/src/test/java/io/nosqlbench/engine/core/script/ScriptIntegrationTests.java
+++ b/nb/src/test/java/io/nosqlbench/engine/core/script/ScriptIntegrationTests.java
@@ -17,9 +17,10 @@
package io.nosqlbench.engine.core.script;
-import io.nosqlbench.engine.core.ScenarioLogger;
import io.nosqlbench.engine.core.ScenarioResult;
import io.nosqlbench.engine.core.ScenariosResults;
+import io.nosqlbench.engine.core.logging.SessionLogConfig;
+import io.nosqlbench.engine.core.logging.ScenarioLogger;
import org.apache.commons.compress.utils.IOUtils;
import org.assertj.core.data.Offset;
import org.junit.BeforeClass;
@@ -28,6 +29,7 @@ import org.junit.Test;
import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;
+import java.nio.file.Path;
import java.util.HashMap;
import java.util.Map;
import java.util.regex.Matcher;
@@ -62,7 +64,10 @@ public class ScriptIntegrationTests {
}
s.addScriptText(script);
// s.addScriptText("load('classpath:scripts/sync/" + scriptname + ".js');");
- ScenarioLogger scenarioLogger = new ScenarioLogger(s).setMaxLogs(0).setLogDir("logs/test").start();
+ ScenarioLogger scenarioLogger = new SessionLogConfig(scenarioName)
+ .setMaxLogs(0)
+ .setLogDir(Path.of("logs/test"))
+ .start();
e.execute(s, scenarioLogger);
ScenariosResults scenariosResults = e.awaitAllResults();
ScenarioResult scenarioResult = scenariosResults.getOne();