From a09efbe9948ba5cccdc073517d66125c98566165 Mon Sep 17 00:00:00 2001 From: Jonathan Shook Date: Mon, 16 Nov 2020 17:30:20 -0600 Subject: [PATCH] consolidate to log4j2 --- .../cql/codecsupport/UDTCodecInjector.java | 10 +- .../cql/codecsupport/UserCodecProvider.java | 8 +- .../activitytype/cql/core/CQLOptions.java | 6 +- .../activitytype/cql/core/CqlAction.java | 6 +- .../activitytype/cql/core/CqlActivity.java | 6 +- .../activitytype/cql/core/CqlAsyncAction.java | 6 +- .../long_string/ModuloCSVLineToUUID.java | 10 +- .../functions/to_tuple/CustomFunc955.java | 8 +- .../cql/errorhandling/CQLExceptionEnum.java | 8 +- .../errorhandling/HashedCQLErrorHandler.java | 10 +- .../errorhandling/NBCycleErrorHandler.java | 10 +- .../binders/DiagnosticPreparedBinder.java | 6 +- .../binders/DirectArrayValuesBinder.java | 6 +- .../binders/UnsettableValuesBinder.java | 6 +- .../cql/statements/core/CQLSessionCache.java | 6 +- .../cql/statements/core/CQLStatementDef.java | 6 +- .../core/CQLStatementDefParser.java | 18 +- .../core/ReadyCQLStatementTemplate.java | 6 +- .../core/YamlCQLStatementLoader.java | 10 +- .../cql/statements/rowoperators/Save.java | 6 +- .../rsoperators/CqlResultSetLogger.java | 6 +- .../statements/rsoperators/TraceLogger.java | 8 +- .../cqld4/codecsupport/UDTCodecInjector.java | 8 +- .../cqld4/codecsupport/UserCodecProvider.java | 8 +- .../activitytype/cqld4/core/CQLOptions.java | 2 +- .../activitytype/cqld4/core/CqlAction.java | 6 +- .../activitytype/cqld4/core/CqlActivity.java | 6 +- .../cqld4/core/CqlAsyncAction.java | 6 +- .../cqld4/errorhandling/CQLExceptionEnum.java | 16 +- .../errorhandling/HashedCQLErrorHandler.java | 10 +- .../errorhandling/NBCycleErrorHandler.java | 6 +- .../binders/DiagnosticPreparedBinder.java | 6 +- .../binders/DirectArrayValuesBinder.java | 6 +- .../binders/UnsettableValuesBinder.java | 8 +- .../statements/core/CQLSessionCache.java | 10 +- .../statements/core/CQLStatementDef.java | 6 +- .../core/CQLStatementDefParser.java | 18 +- .../core/ReadyCQLStatementTemplate.java | 6 +- .../core/YamlCQLStatementLoader.java | 6 +- .../cqld4/statements/rowoperators/Save.java | 8 +- .../rsoperators/CqlD4ResultSetLogger.java | 6 +- .../statements/rsoperators/TraceLogger.java | 8 +- .../cqlverify/CqlVerifyActivity.java | 6 +- .../activitytype/diag/AsyncDiagAction.java | 10 +- .../activitytype/diag/DiagAction.java | 8 +- .../diag/DiagActionDispenser.java | 9 +- .../activitytype/diag/DiagActivityType.java | 6 +- .../activitytype/diag/SequenceBlocker.java | 6 +- .../activitytype/http/HttpAction.java | 6 +- .../activitytype/http/HttpActivity.java | 6 +- .../activitytype/http/HttpActivityType.java | 6 +- .../http/async/HttpAsyncAction.java | 6 +- .../io/nosqlbench/driver/jmx/JMXAction.java | 6 +- .../io/nosqlbench/driver/jmx/SecureUtils.java | 7 +- .../io/nosqlbench/driver/jmx/ops/JmxOp.java | 6 +- .../ebdrivers/kafkaproducer/KafkaAction.java | 6 +- .../kafkaproducer/KafkaProducerActivity.java | 18 +- .../kafkaproducer/KafkaStatement.java | 6 +- .../driver/mongodb/MongoAction.java | 6 +- .../driver/mongodb/MongoActivity.java | 6 +- .../mongodb/ReadyMongoStatementTest.java | 30 +- .../stdout/AsyncStdoutAction.java | 6 +- .../activitytype/stdout/StdoutAction.java | 20 +- .../activitytype/stdout/StdoutActivity.java | 6 +- .../tcpclient/TCPClientActivity.java | 6 +- .../tcpserver/TCPServerActivity.java | 12 +- .../driver/webdriver/WebContext.java | 10 +- .../driver/webdriver/WebDriverAction.java | 8 +- .../driver/webdriver/WebDriverActivity.java | 13 +- .../driver/webdriver/verbs/AssertElement.java | 9 +- .../driver/webdriver/verbs/FindElement.java | 7 +- .../driver/webdriver/verbs/FindElements.java | 7 +- .../driver/webdriver/verbs/Get.java | 6 +- .../webdriver/verbs/WebDriverVerbs.java | 6 +- .../api/activityapi/core/BaseAsyncAction.java | 6 +- .../CycleResultsRLEBufferTarget.java | 12 +- .../tristate/EnumReadableMappingFilter.java | 8 +- .../inputs/cyclelog/CycleLogInput.java | 6 +- .../ReorderingConcurrentResultBuffer.java | 10 +- .../outputs/cyclelog/CycleLogOutput.java | 10 +- .../outputs/cyclelog/CycleLogOutputType.java | 8 +- .../logger/LoggingMarkerDispenser.java | 8 +- .../outputs/logger/LoggingOutput.java | 8 +- .../errorhandling/CycleErrorHandlers.java | 6 +- .../errorhandling/HashedErrorHandler.java | 12 +- .../activityapi/planning/SequencePlanner.java | 6 +- .../ratelimits/HybridRateLimiter.java | 8 +- .../activityapi/ratelimits/RateLimiters.java | 6 +- .../api/activityapi/ratelimits/RateSpec.java | 11 +- .../activityapi/ratelimits/TokenFiller.java | 8 +- .../api/activityapi/ratelimits/TokenPool.java | 6 +- .../api/activityapi/sysperf/SysPerf.java | 6 +- .../activityapi/sysperf/SysPerfBaseliner.java | 6 +- .../engine/api/activityconfig/ParsedStmt.java | 6 +- .../api/activityconfig/StatementsLoader.java | 6 +- .../activityconfig/rawyaml/RawStmtFields.java | 6 +- .../rawyaml/RawStmtsLoader.java | 2 +- .../engine/api/activityimpl/ActivityDef.java | 10 +- .../engine/api/activityimpl/CpuInfo.java | 6 +- .../engine/api/activityimpl/ParameterMap.java | 8 +- .../api/activityimpl/SimpleActivity.java | 6 +- .../api/activityimpl/SlotStateTracker.java | 6 +- .../api/activityimpl/action/CoreAction.java | 6 +- .../action/CoreActionDispenser.java | 8 +- .../api/activityimpl/input/AtomicInput.java | 6 +- .../marker/ContiguousOutputChunker.java | 20 +- .../api/activityimpl/motor/CoreMotor.java | 16 +- .../api/activityimpl/motor/StrideTracker.java | 6 +- .../api/extensions/ScriptingPluginInfo.java | 2 +- .../engine/api/metrics/ActivityMetrics.java | 10 +- .../api/metrics/ClassicHistoListener.java | 18 +- .../api/metrics/ClassicTimerListener.java | 18 +- .../metrics/DeltaHdrHistogramReservoir.java | 8 +- .../api/metrics/HistoIntervalLogger.java | 14 +- .../api/metrics/HistoLogChartGenerator.java | 8 +- .../api/metrics/HistoStatsCSVWriter.java | 6 +- .../engine/api/metrics/HistoStatsLogger.java | 14 +- .../engine/api/metrics/PeriodicRunnable.java | 10 +- .../api/scenarios/NBCLIScenarioParser.java | 6 +- .../api/scripting/NashornEvaluator.java | 6 +- .../api/templating/CommandTemplate.java | 8 +- .../engine/api/util/SSLKsFactory.java | 6 +- .../engine/api/util/SimpleServiceLoader.java | 6 +- .../io/nosqlbench/engine/api/util/Unit.java | 26 +- .../rawyaml/BindingEscapingTest.java | 6 +- .../rawyaml/RawYamlStatementLoaderTest.java | 6 +- .../activityconfig/rawyaml/StmtDefTest.java | 6 +- .../rawyaml/StmtEscapingTest.java | 6 +- .../rawyaml/StmtVariationTests.java | 6 +- .../activityconfig/yaml/ParsedStmtTest.java | 6 +- .../yaml/StmtDetailOverrideTest.java | 6 +- .../activityconfig/yaml/StmtsDocListTest.java | 12 +- .../engine/cli/BasicScriptBuffer.java | 6 +- .../java/io/nosqlbench/engine/cli/Cmd.java | 6 +- .../java/io/nosqlbench/engine/cli/NBCLI.java | 11 +- .../nosqlbench/engine/cli/NBCLIArgsFile.java | 7 +- .../nosqlbench/engine/cli/NBCLIOptions.java | 9 +- .../engine/cli/PathCanonicalizer.java | 6 +- .../engine/core/ActivityExecutor.java | 8 +- .../core/ActivityProgressIndicator.java | 6 +- .../engine/core/MarkdownDocInfo.java | 12 +- .../core/PolyglotScenarioController.java | 7 +- .../engine/core/ScenarioController.java | 8 +- .../engine/core/ScenarioErrorHandler.java | 6 +- .../engine/core/ScenarioResult.java | 10 +- .../engine/core/ScenariosResults.java | 6 +- .../core/logging/Log4JMetricsReporter.java | 418 ++++++++++++++++++ .../engine/core/metrics/MetricMap.java | 6 +- .../engine/core/metrics/MetricReporters.java | 12 +- .../NashornMetricRegistryBindings.java | 10 +- .../PolyglotMetricRegistryBindings.java | 8 +- .../engine/core/script/MetricsMapper.java | 12 +- .../engine/core/script/Scenario.java | 33 +- .../engine/core/script/ScenariosExecutor.java | 14 +- .../engine/core/script/ScriptParams.java | 9 +- .../engine/core/ActivityExecutorTest.java | 8 +- .../engine/docker/DockerHelper.java | 6 +- .../engine/docker/DockerMetricsManager.java | 6 +- .../nosqlbench/engine/docker/RestHelper.java | 7 +- .../extensions/csvmetrics/CSVMetrics.java | 4 +- .../csvmetrics/CSVMetricsPlugin.java | 2 +- .../csvmetrics/CSVMetricsPluginData.java | 2 +- .../extensions/example/ExamplePluginData.java | 2 +- .../files/FileAccessPluginData.java | 2 +- .../GlobalVarsScriptingPluginData.java | 2 +- .../histologger/HdrHistoLogPlugin.java | 8 +- .../histologger/HdrHistoLogPluginData.java | 2 +- .../histostatslogger/HistoStatsPlugin.java | 8 +- .../HistoStatsPluginData.java | 2 +- .../extensions/http/HttpPluginData.java | 3 +- .../optimizers/BobyqaOptimizerInstance.java | 4 +- .../optimizers/BobyqaOptimizerPlugin.java | 2 +- .../optimizers/BobyqaOptimizerPluginData.java | 2 +- .../optimizers/MultivariateArrayScript.java | 4 +- .../optimizers/MultivariateDynamicScript.java | 4 +- .../NashornMultivariateObjectScript.java | 4 +- .../PolyglotMultivariateObjectScript.java | 2 +- .../scriptingmetrics/ScriptingMetrics.java | 8 +- .../ScriptingMetricsPluginData.java | 2 +- .../resources/ScenarioExecutorEndpoint.java | 36 +- mvn-defaults/pom.xml | 20 +- .../io/nosqlbench/nb/api/config/Synonyms.java | 2 +- .../nosqlbench/nb/api/content/PathFinder.java | 6 +- .../nb/api/content/ResolverForURL.java | 8 +- .../script/AsyncScriptIntegrationTests.java | 3 +- .../core/script/NBCliIntegrationTests.java | 6 +- .../core/script/ScriptIntegrationTests.java | 9 +- 187 files changed, 1153 insertions(+), 756 deletions(-) create mode 100644 engine-core/src/main/java/io/nosqlbench/engine/core/logging/Log4JMetricsReporter.java diff --git a/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/codecsupport/UDTCodecInjector.java b/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/codecsupport/UDTCodecInjector.java index c2fb720c9..85acc8973 100644 --- a/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/codecsupport/UDTCodecInjector.java +++ b/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/codecsupport/UDTCodecInjector.java @@ -3,18 +3,18 @@ package io.nosqlbench.activitytype.cql.codecsupport; import com.datastax.driver.core.CodecRegistry; import com.datastax.driver.core.Session; import com.datastax.driver.core.UserType; -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.List; import java.util.ServiceLoader; public class UDTCodecInjector { - private final static Logger logger = LoggerFactory.getLogger(UDTCodecInjector.class); + private final static Logger logger = LogManager.getLogger(UDTCodecInjector.class); - private List codecProviders = new ArrayList<>(); - private List userTypes = new ArrayList<>(); + private final List codecProviders = new ArrayList<>(); + private final List userTypes = new ArrayList<>(); public void injectUserProvidedCodecs(Session session, boolean allowAcrossKeyspaces) { diff --git a/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/codecsupport/UserCodecProvider.java b/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/codecsupport/UserCodecProvider.java index 3a9cb4efa..d9998ed27 100644 --- a/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/codecsupport/UserCodecProvider.java +++ b/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/codecsupport/UserCodecProvider.java @@ -1,8 +1,8 @@ package io.nosqlbench.activitytype.cql.codecsupport; import com.datastax.driver.core.*; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; import java.lang.reflect.Constructor; import java.util.*; @@ -10,7 +10,7 @@ import java.util.stream.Collectors; public abstract class UserCodecProvider { - private final static Logger logger = LoggerFactory.getLogger(UserCodecProvider.class); + private final static Logger logger = LogManager.getLogger(UserCodecProvider.class); public List registerCodecsForCluster( Session session, @@ -131,7 +131,7 @@ public abstract class UserCodecProvider { .orElseThrow( () -> new RuntimeException("Unable to find UDTJavaType annotation for " + codecClass.getCanonicalName()) ); - return (Class) javaType; + return javaType; } diff --git a/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/core/CQLOptions.java b/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/core/CQLOptions.java index 660bc5fc5..27fbd5b29 100644 --- a/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/core/CQLOptions.java +++ b/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/core/CQLOptions.java @@ -4,8 +4,8 @@ import com.datastax.driver.core.*; import com.datastax.driver.core.policies.*; import io.netty.util.HashedWheelTimer; 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.net.InetSocketAddress; import java.util.*; @@ -16,7 +16,7 @@ import java.util.regex.Pattern; import java.util.stream.Collectors; public class CQLOptions { - private final static Logger logger = LoggerFactory.getLogger(CQLOptions.class); + private final static Logger logger = LogManager.getLogger(CQLOptions.class); private final static Pattern CORE_AND_MAX_RQ_PATTERN = Pattern.compile("(?\\d+)(:(?\\d+)(:(?\\d+))?)?(,(?\\d+)(:(?\\d+)(:(?\\d+))?)?)?(,?heartbeat_interval_s:(?\\d+))?(,?idle_timeout_s:(?\\d+))?(,?pool_timeout_ms:(?\\d+))?"); private final static Pattern PERCENTILE_EAGER_PATTERN = Pattern.compile("^p(?[^:]+)(:(?\\d+))?(:(?\\d+)ms)?$"); diff --git a/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/core/CqlAction.java b/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/core/CqlAction.java index 7ce4c6107..04613f3f8 100644 --- a/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/core/CqlAction.java +++ b/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/core/CqlAction.java @@ -19,8 +19,8 @@ import io.nosqlbench.engine.api.activityapi.core.MultiPhaseAction; import io.nosqlbench.engine.api.activityapi.core.SyncAction; import io.nosqlbench.engine.api.activityapi.planning.OpSequence; import io.nosqlbench.engine.api.activityimpl.ActivityDef; -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.concurrent.TimeUnit; @@ -28,7 +28,7 @@ import java.util.concurrent.TimeUnit; @SuppressWarnings("Duplicates") public class CqlAction implements SyncAction, MultiPhaseAction, ActivityDefObserver { - private final static Logger logger = LoggerFactory.getLogger(CqlAction.class); + private final static Logger logger = LogManager.getLogger(CqlAction.class); private final int slot; private final CqlActivity cqlActivity; private final ActivityDef activityDef; diff --git a/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/core/CqlActivity.java b/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/core/CqlActivity.java index 5aa718fd8..23f0f9ece 100644 --- a/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/core/CqlActivity.java +++ b/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/core/CqlActivity.java @@ -44,8 +44,8 @@ import io.nosqlbench.engine.api.util.TagFilter; import io.nosqlbench.engine.api.util.Unit; import io.nosqlbench.nb.api.errors.BasicError; import org.apache.commons.lang3.StringUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; import java.io.FileWriter; import java.io.IOException; @@ -56,7 +56,7 @@ import java.util.*; @SuppressWarnings("Duplicates") public class CqlActivity extends SimpleActivity implements Activity, ActivityDefObserver { - private final static Logger logger = LoggerFactory.getLogger(CqlActivity.class); + private final static Logger logger = LogManager.getLogger(CqlActivity.class); private final ExceptionCountMetrics exceptionCountMetrics; private final ExceptionHistoMetrics exceptionHistoMetrics; private final ActivityDef activityDef; diff --git a/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/core/CqlAsyncAction.java b/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/core/CqlAsyncAction.java index 43f16f7ef..695b7852e 100644 --- a/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/core/CqlAsyncAction.java +++ b/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/core/CqlAsyncAction.java @@ -23,8 +23,8 @@ import io.nosqlbench.engine.api.activityapi.core.ops.fluent.opfacets.SucceededOp import io.nosqlbench.engine.api.activityapi.core.ops.fluent.opfacets.TrackedOp; import io.nosqlbench.engine.api.activityapi.planning.OpSequence; import io.nosqlbench.engine.api.activityimpl.ActivityDef; -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.concurrent.TimeUnit; @@ -33,7 +33,7 @@ import java.util.function.LongFunction; @SuppressWarnings("Duplicates") public class CqlAsyncAction extends BaseAsyncAction { - private final static Logger logger = LoggerFactory.getLogger(CqlAsyncAction.class); + private final static Logger logger = LogManager.getLogger(CqlAsyncAction.class); private final ActivityDef activityDef; private List rowOps; diff --git a/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/datamappers/functions/long_string/ModuloCSVLineToUUID.java b/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/datamappers/functions/long_string/ModuloCSVLineToUUID.java index 838c329fa..9af56f0f4 100644 --- a/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/datamappers/functions/long_string/ModuloCSVLineToUUID.java +++ b/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/datamappers/functions/long_string/ModuloCSVLineToUUID.java @@ -25,8 +25,8 @@ import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; import io.nosqlbench.virtdata.library.basics.shared.from_long.to_string.ModuloLineToString; import org.apache.commons.csv.CSVParser; import org.apache.commons.csv.CSVRecord; -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.List; @@ -40,11 +40,11 @@ import java.util.function.LongFunction; */ @ThreadSafeMapper public class ModuloCSVLineToUUID implements LongFunction { - private final static Logger logger = LoggerFactory.getLogger(ModuloLineToString.class); + private final static Logger logger = LogManager.getLogger(ModuloLineToString.class); - private List lines = new ArrayList<>(); + private final List lines = new ArrayList<>(); - private String filename; + private final String filename; @Example({"ModuloCSVLineToUUID('data/myfile.csv','lat')","load values for 'lat' from the CSV file myfile.csv."}) public ModuloCSVLineToUUID(String filename, String fieldname) { diff --git a/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/datamappers/functions/to_tuple/CustomFunc955.java b/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/datamappers/functions/to_tuple/CustomFunc955.java index b3e359c87..c3d80306c 100644 --- a/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/datamappers/functions/to_tuple/CustomFunc955.java +++ b/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/datamappers/functions/to_tuple/CustomFunc955.java @@ -71,8 +71,8 @@ public class CustomFunc955 implements LongFunction>, ConfigAware { } @Override - public void applyConfig(Map elements) { - this.cluster = Optional.ofNullable(elements.get("cluster")) + public void applyConfig(Map providedConfig) { + this.cluster = Optional.ofNullable(providedConfig.get("cluster")) .map(Cluster.class::cast) .orElseThrow(); this.tupleType = cluster.getMetadata().newTupleType(DataType.cint(), DataType.bigint()); @@ -80,8 +80,8 @@ public class CustomFunc955 implements LongFunction>, ConfigAware { @Override public ConfigModel getConfigModel() { - return new MutableConfigModel() - .add("", Cluster.class) + return new MutableConfigModel(this) + .optional("", Cluster.class) .asReadOnly(); } } diff --git a/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/errorhandling/CQLExceptionEnum.java b/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/errorhandling/CQLExceptionEnum.java index 0e5723e45..83fe72e1f 100644 --- a/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/errorhandling/CQLExceptionEnum.java +++ b/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/errorhandling/CQLExceptionEnum.java @@ -3,8 +3,8 @@ package io.nosqlbench.activitytype.cql.errorhandling; import com.datastax.driver.core.exceptions.*; import io.nosqlbench.activitytype.cql.errorhandling.exceptions.*; import io.nosqlbench.engine.api.activityapi.cyclelog.buffers.results.ResultReadable; -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; @@ -64,10 +64,10 @@ public enum CQLExceptionEnum implements ResultReadable { EbdseCycleException(CqlGenericCycleException.class, 42), MaxTriesExhaustedException(io.nosqlbench.activitytype.cql.errorhandling.exceptions.MaxTriesExhaustedException.class,43); - private final static Logger logger = LoggerFactory.getLogger(CQLExceptionEnum.class); + private final static Logger logger = LogManager.getLogger(CQLExceptionEnum.class); private static Map codesByName = getCodesByName(); - private static String[] namesByCode = getNamesByCode(); + private static final String[] namesByCode = getNamesByCode(); private final Class exceptionClass; private final int resultCode; diff --git a/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/errorhandling/HashedCQLErrorHandler.java b/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/errorhandling/HashedCQLErrorHandler.java index 2a4dcdc79..e23069ce2 100644 --- a/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/errorhandling/HashedCQLErrorHandler.java +++ b/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/errorhandling/HashedCQLErrorHandler.java @@ -8,18 +8,18 @@ import io.nosqlbench.activitytype.cql.errorhandling.exceptions.RowVerificationEx import io.nosqlbench.engine.api.activityapi.errorhandling.CycleErrorHandler; import io.nosqlbench.engine.api.activityapi.errorhandling.HashedErrorHandler; import io.nosqlbench.engine.api.metrics.ExceptionCountMetrics; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; public class HashedCQLErrorHandler extends HashedErrorHandler { - private static final Logger logger = LoggerFactory.getLogger(HashedCQLErrorHandler.class); + private static final Logger logger = LogManager.getLogger(HashedCQLErrorHandler.class); // private static Set> UNVERIFIED_ERRORS = new HashSet>() {{ // add(RowVerificationException.class); // add(ResultSetVerificationException.class); // }}; - private ExceptionCountMetrics exceptionCountMetrics; - private static ThreadLocal tlResultCode = ThreadLocal.withInitial(() -> (0)); + private final ExceptionCountMetrics exceptionCountMetrics; + private static final ThreadLocal tlResultCode = ThreadLocal.withInitial(() -> (0)); public HashedCQLErrorHandler(ExceptionCountMetrics exceptionCountMetrics) { this.exceptionCountMetrics = exceptionCountMetrics; diff --git a/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/errorhandling/NBCycleErrorHandler.java b/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/errorhandling/NBCycleErrorHandler.java index 43f36c6a1..88ed8e17d 100644 --- a/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/errorhandling/NBCycleErrorHandler.java +++ b/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/errorhandling/NBCycleErrorHandler.java @@ -6,8 +6,8 @@ import io.nosqlbench.activitytype.cql.errorhandling.exceptions.CQLExceptionDetai import io.nosqlbench.engine.api.activityapi.errorhandling.CycleErrorHandler; import io.nosqlbench.engine.api.metrics.ExceptionCountMetrics; import io.nosqlbench.engine.api.metrics.ExceptionHistoMetrics; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; /** * A contextualized error handler that can catch a cycle-specific error. @@ -42,10 +42,10 @@ import org.slf4j.LoggerFactory; @SuppressWarnings("Duplicates") public class NBCycleErrorHandler implements CycleErrorHandler { - private static final Logger logger = LoggerFactory.getLogger(NBCycleErrorHandler.class); + private static final Logger logger = LogManager.getLogger(NBCycleErrorHandler.class); - private ErrorResponse errorResponse; - private ExceptionCountMetrics exceptionCountMetrics; + private final ErrorResponse errorResponse; + private final ExceptionCountMetrics exceptionCountMetrics; private final ExceptionHistoMetrics exceptionHistoMetrics; private boolean throwExceptionOnStop=false; diff --git a/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/statements/binders/DiagnosticPreparedBinder.java b/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/statements/binders/DiagnosticPreparedBinder.java index 2c7a2fe2f..238911192 100644 --- a/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/statements/binders/DiagnosticPreparedBinder.java +++ b/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/statements/binders/DiagnosticPreparedBinder.java @@ -3,8 +3,8 @@ package io.nosqlbench.activitytype.cql.statements.binders; import com.datastax.driver.core.*; import io.nosqlbench.activitytype.cql.core.CQLBindHelper; import io.nosqlbench.virtdata.core.bindings.ValuesArrayBinder; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; import java.util.List; @@ -15,7 +15,7 @@ import java.util.List; * order to explain in more detail what is happening for users. */ public class DiagnosticPreparedBinder implements ValuesArrayBinder { - public static final Logger logger = LoggerFactory.getLogger(DiagnosticPreparedBinder.class); + public static final Logger logger = LogManager.getLogger(DiagnosticPreparedBinder.class); @Override public Statement bindValues(PreparedStatement prepared, Object[] values) { ColumnDefinitions columnDefinitions = prepared.getVariables(); diff --git a/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/statements/binders/DirectArrayValuesBinder.java b/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/statements/binders/DirectArrayValuesBinder.java index 7d9a1aa3b..046781c24 100644 --- a/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/statements/binders/DirectArrayValuesBinder.java +++ b/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/statements/binders/DirectArrayValuesBinder.java @@ -3,8 +3,8 @@ package io.nosqlbench.activitytype.cql.statements.binders; import com.datastax.driver.core.PreparedStatement; import com.datastax.driver.core.Statement; import io.nosqlbench.virtdata.core.bindings.ValuesArrayBinder; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; import java.util.Arrays; @@ -19,7 +19,7 @@ import java.util.Arrays; * will become the default. */ public class DirectArrayValuesBinder implements ValuesArrayBinder { - public final static Logger logger = LoggerFactory.getLogger(DirectArrayValuesBinder.class); + public final static Logger logger = LogManager.getLogger(DirectArrayValuesBinder.class); @Override public Statement bindValues(PreparedStatement preparedStatement, Object[] objects) { diff --git a/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/statements/binders/UnsettableValuesBinder.java b/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/statements/binders/UnsettableValuesBinder.java index 64fa5484c..5a8c1cc44 100644 --- a/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/statements/binders/UnsettableValuesBinder.java +++ b/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/statements/binders/UnsettableValuesBinder.java @@ -3,14 +3,14 @@ package io.nosqlbench.activitytype.cql.statements.binders; import com.datastax.driver.core.*; import io.nosqlbench.virtdata.api.bindings.VALUE; import io.nosqlbench.virtdata.core.bindings.ValuesArrayBinder; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; import java.nio.ByteBuffer; import java.util.List; public class UnsettableValuesBinder implements ValuesArrayBinder { - private final static Logger logger = LoggerFactory.getLogger(UnsettableValuesBinder.class); + private final static Logger logger = LogManager.getLogger(UnsettableValuesBinder.class); private final Session session; private final CodecRegistry codecRegistry; diff --git a/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/statements/core/CQLSessionCache.java b/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/statements/core/CQLSessionCache.java index a274bf451..db84e375e 100644 --- a/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/statements/core/CQLSessionCache.java +++ b/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/statements/core/CQLSessionCache.java @@ -14,8 +14,8 @@ import io.nosqlbench.engine.api.metrics.ActivityMetrics; import io.nosqlbench.engine.api.scripting.NashornEvaluator; import io.nosqlbench.engine.api.util.SSLKsFactory; 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 javax.net.ssl.SSLContext; import java.io.File; @@ -28,7 +28,7 @@ import java.util.*; public class CQLSessionCache implements Shutdownable { - private final static Logger logger = LoggerFactory.getLogger(CQLSessionCache.class); + private final static Logger logger = LogManager.getLogger(CQLSessionCache.class); private final static String DEFAULT_SESSION_ID = "default"; private static final CQLSessionCache instance = new CQLSessionCache(); private final Map sessionCache = new HashMap<>(); diff --git a/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/statements/core/CQLStatementDef.java b/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/statements/core/CQLStatementDef.java index 043cea6c6..27edcbb19 100644 --- a/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/statements/core/CQLStatementDef.java +++ b/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/statements/core/CQLStatementDef.java @@ -1,14 +1,14 @@ package io.nosqlbench.activitytype.cql.statements.core; import com.datastax.driver.core.ConsistencyLevel; -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 CQLStatementDef { - private final static Logger logger = LoggerFactory.getLogger(CQLStatementDef.class); + private final static Logger logger = LogManager.getLogger(CQLStatementDef.class); private Map params = new HashMap<>(); private String name = ""; diff --git a/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/statements/core/CQLStatementDefParser.java b/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/statements/core/CQLStatementDefParser.java index c82b124b0..7e4ddc076 100644 --- a/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/statements/core/CQLStatementDefParser.java +++ b/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/statements/core/CQLStatementDefParser.java @@ -1,7 +1,7 @@ package io.nosqlbench.activitytype.cql.statements.core; -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.regex.Matcher; @@ -9,7 +9,7 @@ import java.util.regex.Pattern; import java.util.stream.Collectors; public class CQLStatementDefParser { - private final static Logger logger = LoggerFactory.getLogger(CQLStatementDefParser.class); + private final static Logger logger = LogManager.getLogger(CQLStatementDefParser.class); // private final static Pattern templateToken = Pattern.compile("<<(\\w+(:(.+?))?)>>"); private final static Pattern stmtToken = Pattern.compile("\\?(\\w+[-_\\d\\w]*)|\\{(\\w+[-_\\d\\w.]*)}"); private final static String UNSET_VALUE = "UNSET-VALUE"; @@ -93,9 +93,7 @@ public class CQLStatementDefParser { if (!namedBindings.contains(tokenName)) { missingBindings.add(tokenName); } else { - if (missingAnchors.contains(tokenName)) { - missingAnchors.remove(tokenName); - } + missingAnchors.remove(tokenName); } } @@ -114,11 +112,11 @@ public class CQLStatementDefParser { } public static class ParseResult { - private Set missingGenerators; - private Set missingAnchors; - private String statement; + private final Set missingGenerators; + private final Set missingAnchors; + private final String statement; private Map bindings; - private String name; + private final String name; public ParseResult(String stmt, String name, Map bindings, Set missingGenerators, Set missingAnchors) { this.missingGenerators = missingGenerators; diff --git a/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/statements/core/ReadyCQLStatementTemplate.java b/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/statements/core/ReadyCQLStatementTemplate.java index f76fc422e..6f5ad5813 100644 --- a/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/statements/core/ReadyCQLStatementTemplate.java +++ b/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/statements/core/ReadyCQLStatementTemplate.java @@ -15,15 +15,15 @@ import io.nosqlbench.engine.api.metrics.ActivityMetrics; import io.nosqlbench.virtdata.core.bindings.BindingsTemplate; import io.nosqlbench.virtdata.core.bindings.ContextualBindingsArrayTemplate; import io.nosqlbench.virtdata.core.bindings.ValuesArrayBinder; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; import java.io.Writer; import java.util.Map; public class ReadyCQLStatementTemplate { - private final static Logger logger = LoggerFactory.getLogger(ReadyCQLStatementTemplate.class); + private final static Logger logger = LogManager.getLogger(ReadyCQLStatementTemplate.class); private final Session session; private final ContextualBindingsArrayTemplate template; private final long ratio; diff --git a/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/statements/core/YamlCQLStatementLoader.java b/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/statements/core/YamlCQLStatementLoader.java index ec2be1090..109772f73 100644 --- a/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/statements/core/YamlCQLStatementLoader.java +++ b/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/statements/core/YamlCQLStatementLoader.java @@ -3,25 +3,21 @@ package io.nosqlbench.activitytype.cql.statements.core; import io.nosqlbench.engine.api.activityimpl.ActivityInitializationError; 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 org.yaml.snakeyaml.TypeDescription; import org.yaml.snakeyaml.Yaml; import org.yaml.snakeyaml.constructor.Constructor; -import java.io.BufferedReader; -import java.io.InputStream; -import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.function.Function; -import java.util.stream.Collectors; @SuppressWarnings("ALL") public class YamlCQLStatementLoader { - private final static Logger logger = LoggerFactory.getLogger(YamlCQLStatementLoader.class); + private final static Logger logger = LogManager.getLogger(YamlCQLStatementLoader.class); List> transformers = new ArrayList<>(); public YamlCQLStatementLoader() { diff --git a/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/statements/rowoperators/Save.java b/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/statements/rowoperators/Save.java index 5517f622c..6fae4d104 100644 --- a/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/statements/rowoperators/Save.java +++ b/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/statements/rowoperators/Save.java @@ -4,8 +4,8 @@ import com.datastax.driver.core.ColumnDefinitions; import com.datastax.driver.core.Row; import io.nosqlbench.activitytype.cql.api.RowCycleOperator; import io.nosqlbench.virtdata.library.basics.core.threadstate.SharedState; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; import java.util.Arrays; import java.util.HashMap; @@ -16,7 +16,7 @@ import java.util.stream.Collectors; * Save specific variables to the thread local object map */ public class Save implements RowCycleOperator { - private final static Logger logger = LoggerFactory.getLogger(Save.class); + private final static Logger logger = LogManager.getLogger(Save.class); ThreadLocal> tl_objectMap = SharedState.tl_ObjectMap; diff --git a/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/statements/rsoperators/CqlResultSetLogger.java b/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/statements/rsoperators/CqlResultSetLogger.java index b7ee30db5..b4149e749 100644 --- a/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/statements/rsoperators/CqlResultSetLogger.java +++ b/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/statements/rsoperators/CqlResultSetLogger.java @@ -2,15 +2,15 @@ package io.nosqlbench.activitytype.cql.statements.rsoperators; import com.datastax.driver.core.*; import io.nosqlbench.activitytype.cql.api.ResultSetCycleOperator; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; /** * Logs a trace-level event for the result set, including * cycles, rows, fetched row count, and the statement. */ public class CqlResultSetLogger implements ResultSetCycleOperator { - private final static Logger logger = LoggerFactory.getLogger(CqlResultSetLogger.class); + private final static Logger logger = LogManager.getLogger(CqlResultSetLogger.class); private static String getQueryString(Statement stmt) { if (stmt instanceof PreparedStatement) { diff --git a/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/statements/rsoperators/TraceLogger.java b/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/statements/rsoperators/TraceLogger.java index a432bd669..81f86a243 100644 --- a/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/statements/rsoperators/TraceLogger.java +++ b/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/statements/rsoperators/TraceLogger.java @@ -7,8 +7,8 @@ import com.datastax.driver.core.Statement; import io.nosqlbench.activitytype.cql.api.ResultSetCycleOperator; import io.nosqlbench.activitytype.cql.statements.modifiers.StatementModifier; import io.nosqlbench.engine.api.util.SimpleConfig; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; import java.io.FileDescriptor; import java.io.FileWriter; @@ -18,9 +18,9 @@ import java.util.Date; public class TraceLogger implements ResultSetCycleOperator, StatementModifier { - private final static Logger logger = LoggerFactory.getLogger(TraceLogger.class); + private final static Logger logger = LogManager.getLogger(TraceLogger.class); - private static SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss.SSS"); + private static final SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss.SSS"); private final long modulo; private final String filename; private final FileWriter writer; diff --git a/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/codecsupport/UDTCodecInjector.java b/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/codecsupport/UDTCodecInjector.java index d5acdc7fa..76d94c59f 100644 --- a/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/codecsupport/UDTCodecInjector.java +++ b/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/codecsupport/UDTCodecInjector.java @@ -2,17 +2,17 @@ package io.nosqlbench.activitytype.cqld4.codecsupport; import com.datastax.oss.driver.api.core.session.Session; import com.datastax.oss.driver.api.core.type.codec.registry.CodecRegistry; -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.List; import java.util.ServiceLoader; public class UDTCodecInjector { - private final static Logger logger = LoggerFactory.getLogger(UDTCodecInjector.class); + private final static Logger logger = LogManager.getLogger(UDTCodecInjector.class); - private List codecProviders = new ArrayList<>(); + private final List codecProviders = new ArrayList<>(); public void injectUserProvidedCodecs(Session session, boolean allowAcrossKeyspaces) { diff --git a/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/codecsupport/UserCodecProvider.java b/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/codecsupport/UserCodecProvider.java index c0ea70137..4b02f6b8a 100644 --- a/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/codecsupport/UserCodecProvider.java +++ b/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/codecsupport/UserCodecProvider.java @@ -6,8 +6,8 @@ import com.datastax.oss.driver.api.core.type.UserDefinedType; import com.datastax.oss.driver.api.core.type.codec.TypeCodec; import com.datastax.oss.driver.api.core.type.codec.registry.CodecRegistry; import com.datastax.oss.driver.api.core.type.codec.registry.MutableCodecRegistry; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; import java.lang.reflect.Constructor; import java.util.*; @@ -15,7 +15,7 @@ import java.util.stream.Collectors; public abstract class UserCodecProvider { - private final static Logger logger = LoggerFactory.getLogger(UserCodecProvider.class); + private final static Logger logger = LogManager.getLogger(UserCodecProvider.class); public List> registerCodecsForCluster( Session session, @@ -139,7 +139,7 @@ public abstract class UserCodecProvider { .orElseThrow( () -> new RuntimeException("Unable to find UDTJavaType annotation for " + codecClass.getCanonicalName()) ); - return (Class) javaType; + return javaType; } diff --git a/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/core/CQLOptions.java b/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/core/CQLOptions.java index 9143026a8..60262dad8 100644 --- a/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/core/CQLOptions.java +++ b/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/core/CQLOptions.java @@ -1,7 +1,7 @@ package io.nosqlbench.activitytype.cqld4.core; public class CQLOptions { -// private final static Logger logger = LoggerFactory.getLogger(CQLOptions.class); +// private final static Logger logger = LogManager.getLogger(CQLOptions.class); // // private final static Pattern CORE_AND_MAX_RQ_PATTERN = Pattern.compile("(?\\d+)(:(?\\d+)(:(?\\d+))?)?(,(?\\d+)(:(?\\d+)(:(?\\d+))?)?)?(,?heartbeat_interval_s:(?\\d+))?(,?idle_timeout_s:(?\\d+))?(,?pool_timeout_ms:(?\\d+))?"); // private final static Pattern PERCENTILE_EAGER_PATTERN = Pattern.compile("^p(?[^:]+)(:(?\\d+))?(:(?\\d+)ms)?$"); diff --git a/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/core/CqlAction.java b/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/core/CqlAction.java index a23e7961c..00d370e93 100644 --- a/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/core/CqlAction.java +++ b/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/core/CqlAction.java @@ -17,8 +17,8 @@ import io.nosqlbench.engine.api.activityapi.core.MultiPhaseAction; import io.nosqlbench.engine.api.activityapi.core.SyncAction; import io.nosqlbench.engine.api.activityapi.planning.OpSequence; import io.nosqlbench.engine.api.activityimpl.ActivityDef; -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.concurrent.CompletionStage; @@ -27,7 +27,7 @@ import java.util.concurrent.TimeUnit; @SuppressWarnings("Duplicates") public class CqlAction implements SyncAction, MultiPhaseAction, ActivityDefObserver { - private final static Logger logger = LoggerFactory.getLogger(CqlAction.class); + private final static Logger logger = LogManager.getLogger(CqlAction.class); private final int slot; private final CqlActivity cqlActivity; private final ActivityDef activityDef; diff --git a/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/core/CqlActivity.java b/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/core/CqlActivity.java index f6048798b..4e9cc05bf 100644 --- a/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/core/CqlActivity.java +++ b/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/core/CqlActivity.java @@ -45,8 +45,8 @@ import io.nosqlbench.engine.api.util.SimpleConfig; import io.nosqlbench.engine.api.templating.StrInterpolator; import io.nosqlbench.engine.api.util.TagFilter; 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.io.FileWriter; import java.io.IOException; @@ -57,7 +57,7 @@ import java.util.*; @SuppressWarnings("Duplicates") public class CqlActivity extends SimpleActivity implements Activity, ActivityDefObserver { - private final static Logger logger = LoggerFactory.getLogger(CqlActivity.class); + private final static Logger logger = LogManager.getLogger(CqlActivity.class); private final ExceptionCountMetrics exceptionCountMetrics; private final ExceptionHistoMetrics exceptionHistoMetrics; private final ActivityDef activityDef; diff --git a/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/core/CqlAsyncAction.java b/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/core/CqlAsyncAction.java index 1702eb60e..f00f6f2f2 100644 --- a/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/core/CqlAsyncAction.java +++ b/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/core/CqlAsyncAction.java @@ -22,8 +22,8 @@ import io.nosqlbench.engine.api.activityapi.core.ops.fluent.opfacets.SucceededOp import io.nosqlbench.engine.api.activityapi.core.ops.fluent.opfacets.TrackedOp; import io.nosqlbench.engine.api.activityapi.planning.OpSequence; import io.nosqlbench.engine.api.activityimpl.ActivityDef; -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.concurrent.CompletionStage; @@ -33,7 +33,7 @@ import java.util.function.LongFunction; @SuppressWarnings("Duplicates") public class CqlAsyncAction extends BaseAsyncAction { - private final static Logger logger = LoggerFactory.getLogger(CqlAsyncAction.class); + private final static Logger logger = LogManager.getLogger(CqlAsyncAction.class); private final ActivityDef activityDef; private List rowOps; diff --git a/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/errorhandling/CQLExceptionEnum.java b/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/errorhandling/CQLExceptionEnum.java index 5d4a81909..8968319a4 100644 --- a/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/errorhandling/CQLExceptionEnum.java +++ b/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/errorhandling/CQLExceptionEnum.java @@ -1,18 +1,12 @@ package io.nosqlbench.activitytype.cqld4.errorhandling; -import com.datastax.dse.driver.api.core.servererrors.UnfitClientException; -import com.datastax.oss.driver.api.core.*; +import com.datastax.oss.driver.api.core.RequestThrottlingException; import com.datastax.oss.driver.api.core.connection.ClosedConnectionException; -import com.datastax.oss.driver.api.core.connection.ConnectionInitException; -import com.datastax.oss.driver.api.core.connection.FrameTooLongException; -import com.datastax.oss.driver.api.core.connection.HeartbeatException; import com.datastax.oss.driver.api.core.servererrors.*; -import com.datastax.oss.driver.internal.core.channel.ClusterNameMismatchException; -import com.datastax.oss.driver.shaded.guava.common.collect.ComputationException; import io.nosqlbench.activitytype.cqld4.errorhandling.exceptions.CqlGenericCycleException; import io.nosqlbench.engine.api.activityapi.cyclelog.buffers.results.ResultReadable; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import java.util.ArrayList; import java.util.HashMap; @@ -92,10 +86,10 @@ public enum CQLExceptionEnum implements ResultReadable { RequestThrottlingException(RequestThrottlingException.class,57), CqlGenericCycleException(CqlGenericCycleException.class,58); - private final static Logger logger = LoggerFactory.getLogger(CQLExceptionEnum.class); + private final static Logger logger = LogManager.getLogger(CQLExceptionEnum.class); private static Map codesByName = getCodesByName(); - private static String[] namesByCode = getNamesByCode(); + private static final String[] namesByCode = getNamesByCode(); private final Class exceptionClass; private final int resultCode; diff --git a/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/errorhandling/HashedCQLErrorHandler.java b/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/errorhandling/HashedCQLErrorHandler.java index 8d4cae63c..6d5dd4ef5 100644 --- a/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/errorhandling/HashedCQLErrorHandler.java +++ b/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/errorhandling/HashedCQLErrorHandler.java @@ -16,18 +16,18 @@ import io.nosqlbench.activitytype.cqld4.errorhandling.exceptions.RowVerification import io.nosqlbench.engine.api.activityapi.errorhandling.CycleErrorHandler; import io.nosqlbench.engine.api.activityapi.errorhandling.HashedErrorHandler; import io.nosqlbench.engine.api.metrics.ExceptionCountMetrics; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; public class HashedCQLErrorHandler extends HashedErrorHandler { - private static final Logger logger = LoggerFactory.getLogger(HashedCQLErrorHandler.class); + private static final Logger logger = LogManager.getLogger(HashedCQLErrorHandler.class); // private static Set> UNVERIFIED_ERRORS = new HashSet>() {{ // add(RowVerificationException.class); // add(ResultSetVerificationException.class); // }}; - private ExceptionCountMetrics exceptionCountMetrics; - private static ThreadLocal tlResultCode = ThreadLocal.withInitial(() -> (0)); + private final ExceptionCountMetrics exceptionCountMetrics; + private static final ThreadLocal tlResultCode = ThreadLocal.withInitial(() -> (0)); public HashedCQLErrorHandler(ExceptionCountMetrics exceptionCountMetrics) { this.exceptionCountMetrics = exceptionCountMetrics; diff --git a/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/errorhandling/NBCycleErrorHandler.java b/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/errorhandling/NBCycleErrorHandler.java index 0f6fb88c6..526a0e683 100644 --- a/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/errorhandling/NBCycleErrorHandler.java +++ b/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/errorhandling/NBCycleErrorHandler.java @@ -5,8 +5,8 @@ import io.nosqlbench.activitytype.cqld4.errorhandling.exceptions.CQLCycleWithSta import io.nosqlbench.engine.api.activityapi.errorhandling.CycleErrorHandler; import io.nosqlbench.engine.api.metrics.ExceptionCountMetrics; import io.nosqlbench.engine.api.metrics.ExceptionHistoMetrics; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; /** * A contextualized error handler that can catch a cycle-specific error. @@ -41,7 +41,7 @@ import org.slf4j.LoggerFactory; @SuppressWarnings("Duplicates") public class NBCycleErrorHandler implements CycleErrorHandler { - private static final Logger logger = LoggerFactory.getLogger(NBCycleErrorHandler.class); + private static final Logger logger = LogManager.getLogger(NBCycleErrorHandler.class); private final ErrorResponse errorResponse; private final ExceptionCountMetrics exceptionCountMetrics; diff --git a/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/statements/binders/DiagnosticPreparedBinder.java b/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/statements/binders/DiagnosticPreparedBinder.java index 354d71746..71dc6c48d 100644 --- a/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/statements/binders/DiagnosticPreparedBinder.java +++ b/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/statements/binders/DiagnosticPreparedBinder.java @@ -5,8 +5,8 @@ import com.datastax.oss.driver.api.core.cql.*; import com.datastax.oss.driver.api.core.type.DataType; import io.nosqlbench.activitytype.cqld4.core.CQLBindHelper; import io.nosqlbench.virtdata.core.bindings.ValuesArrayBinder; -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.List; @@ -19,7 +19,7 @@ import java.util.List; */ public class DiagnosticPreparedBinder implements ValuesArrayBinder> { - public static final Logger logger = LoggerFactory.getLogger(DiagnosticPreparedBinder.class); + public static final Logger logger = LogManager.getLogger(DiagnosticPreparedBinder.class); private final CqlSession session; public DiagnosticPreparedBinder(CqlSession session) { diff --git a/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/statements/binders/DirectArrayValuesBinder.java b/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/statements/binders/DirectArrayValuesBinder.java index 2b10dba55..1341b5207 100644 --- a/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/statements/binders/DirectArrayValuesBinder.java +++ b/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/statements/binders/DirectArrayValuesBinder.java @@ -4,8 +4,8 @@ import com.datastax.oss.driver.api.core.CqlSession; import com.datastax.oss.driver.api.core.cql.PreparedStatement; import com.datastax.oss.driver.api.core.cql.Statement; import io.nosqlbench.virtdata.core.bindings.ValuesArrayBinder; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; import java.util.Arrays; @@ -20,7 +20,7 @@ import java.util.Arrays; * will become the default. */ public class DirectArrayValuesBinder implements ValuesArrayBinder> { - public final static Logger logger = LoggerFactory.getLogger(DirectArrayValuesBinder.class); + public final static Logger logger = LogManager.getLogger(DirectArrayValuesBinder.class); private final CqlSession session; public DirectArrayValuesBinder(CqlSession session) { diff --git a/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/statements/binders/UnsettableValuesBinder.java b/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/statements/binders/UnsettableValuesBinder.java index 25177543c..d9048a397 100644 --- a/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/statements/binders/UnsettableValuesBinder.java +++ b/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/statements/binders/UnsettableValuesBinder.java @@ -1,6 +1,5 @@ package io.nosqlbench.activitytype.cqld4.statements.binders; -import com.datastax.driver.core.*; import com.datastax.oss.driver.api.core.ProtocolVersion; import com.datastax.oss.driver.api.core.cql.*; import com.datastax.oss.driver.api.core.session.Session; @@ -9,16 +8,15 @@ import com.datastax.oss.driver.api.core.type.codec.TypeCodec; import com.datastax.oss.driver.api.core.type.codec.registry.CodecRegistry; import io.nosqlbench.virtdata.api.bindings.VALUE; import io.nosqlbench.virtdata.core.bindings.ValuesArrayBinder; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import java.nio.ByteBuffer; import java.util.ArrayList; -import java.util.Iterator; import java.util.List; public class UnsettableValuesBinder implements ValuesArrayBinder> { - private final static Logger logger = LoggerFactory.getLogger(UnsettableValuesBinder.class); + private final static Logger logger = LogManager.getLogger(UnsettableValuesBinder.class); private final Session session; private final CodecRegistry codecRegistry; diff --git a/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/statements/core/CQLSessionCache.java b/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/statements/core/CQLSessionCache.java index 9aaae99ed..7026e7fa7 100644 --- a/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/statements/core/CQLSessionCache.java +++ b/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/statements/core/CQLSessionCache.java @@ -23,8 +23,8 @@ import io.nosqlbench.engine.api.scripting.NashornEvaluator; import io.nosqlbench.engine.api.util.SSLKsFactory; import org.apache.tinkerpop.gremlin.driver.Cluster; import org.graalvm.options.OptionMap; -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; @@ -37,10 +37,10 @@ import java.util.concurrent.ConcurrentHashMap; public class CQLSessionCache implements Shutdownable { - private final static Logger logger = LoggerFactory.getLogger(CQLSessionCache.class); + private final static Logger logger = LogManager.getLogger(CQLSessionCache.class); private final static String DEFAULT_SESSION_ID = "default"; - private static CQLSessionCache instance = new CQLSessionCache(); - private Map sessionCache = new HashMap<>(); + private static final CQLSessionCache instance = new CQLSessionCache(); + private final Map sessionCache = new HashMap<>(); public final static class SessionConfig extends ConcurrentHashMap { diff --git a/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/statements/core/CQLStatementDef.java b/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/statements/core/CQLStatementDef.java index 33cdca1ce..cf236d32a 100644 --- a/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/statements/core/CQLStatementDef.java +++ b/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/statements/core/CQLStatementDef.java @@ -1,14 +1,14 @@ package io.nosqlbench.activitytype.cqld4.statements.core; import com.datastax.oss.driver.api.core.ConsistencyLevel; -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 CQLStatementDef { - private final static Logger logger = LoggerFactory.getLogger(CQLStatementDef.class); + private final static Logger logger = LogManager.getLogger(CQLStatementDef.class); private Map params = new HashMap<>(); private String name = ""; diff --git a/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/statements/core/CQLStatementDefParser.java b/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/statements/core/CQLStatementDefParser.java index a750a8cc9..361ca7edf 100644 --- a/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/statements/core/CQLStatementDefParser.java +++ b/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/statements/core/CQLStatementDefParser.java @@ -1,7 +1,7 @@ package io.nosqlbench.activitytype.cqld4.statements.core; -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.regex.Matcher; @@ -9,7 +9,7 @@ import java.util.regex.Pattern; import java.util.stream.Collectors; public class CQLStatementDefParser { - private final static Logger logger = LoggerFactory.getLogger(CQLStatementDefParser.class); + private final static Logger logger = LogManager.getLogger(CQLStatementDefParser.class); // private final static Pattern templateToken = Pattern.compile("<<(\\w+(:(.+?))?)>>"); private final static Pattern stmtToken = Pattern.compile("\\?(\\w+[-_\\d\\w]*)|\\{(\\w+[-_\\d\\w.]*)}"); private final static String UNSET_VALUE = "UNSET-VALUE"; @@ -93,9 +93,7 @@ public class CQLStatementDefParser { if (!namedBindings.contains(tokenName)) { missingBindings.add(tokenName); } else { - if (missingAnchors.contains(tokenName)) { - missingAnchors.remove(tokenName); - } + missingAnchors.remove(tokenName); } } @@ -114,11 +112,11 @@ public class CQLStatementDefParser { } public static class ParseResult { - private Set missingGenerators; - private Set missingAnchors; - private String statement; + private final Set missingGenerators; + private final Set missingAnchors; + private final String statement; private Map bindings; - private String name; + private final String name; public ParseResult(String stmt, String name, Map bindings, Set missingGenerators, Set missingAnchors) { this.missingGenerators = missingGenerators; diff --git a/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/statements/core/ReadyCQLStatementTemplate.java b/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/statements/core/ReadyCQLStatementTemplate.java index d29c7219f..8496ea6e0 100644 --- a/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/statements/core/ReadyCQLStatementTemplate.java +++ b/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/statements/core/ReadyCQLStatementTemplate.java @@ -16,15 +16,15 @@ import io.nosqlbench.engine.api.metrics.ActivityMetrics; import io.nosqlbench.virtdata.core.bindings.BindingsTemplate; import io.nosqlbench.virtdata.core.bindings.ContextualBindingsArrayTemplate; import io.nosqlbench.virtdata.core.bindings.ValuesArrayBinder; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; import java.io.Writer; import java.util.Map; public class ReadyCQLStatementTemplate { - private final static Logger logger = LoggerFactory.getLogger(ReadyCQLStatementTemplate.class); + private final static Logger logger = LogManager.getLogger(ReadyCQLStatementTemplate.class); private final Session session; private final ContextualBindingsArrayTemplate> template; private final long ratio; diff --git a/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/statements/core/YamlCQLStatementLoader.java b/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/statements/core/YamlCQLStatementLoader.java index 8eaf8fced..9806c9876 100644 --- a/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/statements/core/YamlCQLStatementLoader.java +++ b/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/statements/core/YamlCQLStatementLoader.java @@ -3,8 +3,8 @@ package io.nosqlbench.activitytype.cqld4.statements.core; import io.nosqlbench.engine.api.activityimpl.ActivityInitializationError; 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 org.yaml.snakeyaml.TypeDescription; import org.yaml.snakeyaml.Yaml; import org.yaml.snakeyaml.constructor.Constructor; @@ -17,7 +17,7 @@ import java.util.function.Function; @SuppressWarnings("ALL") public class YamlCQLStatementLoader { - private final static Logger logger = LoggerFactory.getLogger(YamlCQLStatementLoader.class); + private final static Logger logger = LogManager.getLogger(YamlCQLStatementLoader.class); List> transformers = new ArrayList<>(); public YamlCQLStatementLoader() { diff --git a/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/statements/rowoperators/Save.java b/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/statements/rowoperators/Save.java index fc01f6934..99fefc89b 100644 --- a/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/statements/rowoperators/Save.java +++ b/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/statements/rowoperators/Save.java @@ -4,8 +4,8 @@ import com.datastax.oss.driver.api.core.cql.ColumnDefinition; import com.datastax.oss.driver.api.core.cql.Row; import io.nosqlbench.activitytype.cqld4.api.RowCycleOperator; import io.nosqlbench.virtdata.library.basics.core.threadstate.SharedState; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; import java.util.Arrays; import java.util.HashMap; @@ -17,11 +17,11 @@ import java.util.stream.StreamSupport; * Save specific variables to the thread local object map */ public class Save implements RowCycleOperator { - private final static Logger logger = LoggerFactory.getLogger(Save.class); + private final static Logger logger = LogManager.getLogger(Save.class); ThreadLocal> tl_objectMap = SharedState.tl_ObjectMap; - private String[] varnames; + private final String[] varnames; public Save(String... varnames) { this.varnames = varnames; diff --git a/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/statements/rsoperators/CqlD4ResultSetLogger.java b/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/statements/rsoperators/CqlD4ResultSetLogger.java index 8ddce18c7..57e6b3863 100644 --- a/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/statements/rsoperators/CqlD4ResultSetLogger.java +++ b/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/statements/rsoperators/CqlD4ResultSetLogger.java @@ -2,15 +2,15 @@ package io.nosqlbench.activitytype.cqld4.statements.rsoperators; import com.datastax.oss.driver.api.core.cql.*; import io.nosqlbench.activitytype.cqld4.api.D4ResultSetCycleOperator; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; /** * Logs a trace-level event for the result set, including * cycles, rows, fetched row count, and the statement. */ public class CqlD4ResultSetLogger implements D4ResultSetCycleOperator { - private final static Logger logger = LoggerFactory.getLogger(CqlD4ResultSetLogger.class); + private final static Logger logger = LogManager.getLogger(CqlD4ResultSetLogger.class); private static String getQueryString(Statement stmt) { if (stmt instanceof PreparedStatement) { diff --git a/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/statements/rsoperators/TraceLogger.java b/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/statements/rsoperators/TraceLogger.java index 263197529..c38189e96 100644 --- a/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/statements/rsoperators/TraceLogger.java +++ b/driver-cqld4/src/main/java/io/nosqlbench/activitytype/cqld4/statements/rsoperators/TraceLogger.java @@ -4,8 +4,8 @@ import com.datastax.oss.driver.api.core.cql.*; import io.nosqlbench.activitytype.cqld4.api.D4ResultSetCycleOperator; import io.nosqlbench.activitytype.cqld4.core.StatementModifier; import io.nosqlbench.engine.api.util.SimpleConfig; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; import java.io.FileDescriptor; import java.io.FileWriter; @@ -15,9 +15,9 @@ import java.util.Date; public class TraceLogger implements D4ResultSetCycleOperator, StatementModifier { - private final static Logger logger = LoggerFactory.getLogger(TraceLogger.class); + private final static Logger logger = LogManager.getLogger(TraceLogger.class); - private static SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss.SSS"); + private static final SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss.SSS"); private final long modulo; private final String filename; private final FileWriter writer; diff --git a/driver-cqlverify/src/main/java/io/nosqlbench/activitytype/cqlverify/CqlVerifyActivity.java b/driver-cqlverify/src/main/java/io/nosqlbench/activitytype/cqlverify/CqlVerifyActivity.java index d20f479a9..487008c89 100644 --- a/driver-cqlverify/src/main/java/io/nosqlbench/activitytype/cqlverify/CqlVerifyActivity.java +++ b/driver-cqlverify/src/main/java/io/nosqlbench/activitytype/cqlverify/CqlVerifyActivity.java @@ -5,8 +5,8 @@ import io.nosqlbench.activitytype.cql.statements.rsoperators.AssertSingleRowResu import io.nosqlbench.engine.api.activityimpl.ActivityDef; import io.nosqlbench.virtdata.core.bindings.Bindings; import io.nosqlbench.virtdata.core.bindings.BindingsTemplate; -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.List; @@ -15,7 +15,7 @@ import java.util.Optional; public class CqlVerifyActivity extends CqlActivity { - private final static Logger logger = LoggerFactory.getLogger(CqlVerifyActivity.class); + private final static Logger logger = LogManager.getLogger(CqlVerifyActivity.class); private BindingsTemplate expectedValuesTemplate; private VerificationMetrics verificationMetrics; diff --git a/driver-diag/src/main/java/io/nosqlbench/activitytype/diag/AsyncDiagAction.java b/driver-diag/src/main/java/io/nosqlbench/activitytype/diag/AsyncDiagAction.java index d2d127167..1f67a1016 100644 --- a/driver-diag/src/main/java/io/nosqlbench/activitytype/diag/AsyncDiagAction.java +++ b/driver-diag/src/main/java/io/nosqlbench/activitytype/diag/AsyncDiagAction.java @@ -24,8 +24,8 @@ import io.nosqlbench.engine.api.activityapi.cyclelog.buffers.op_output.StrideOut import io.nosqlbench.engine.api.activityapi.ratelimits.RateLimiter; import io.nosqlbench.engine.api.activityimpl.ActivityDef; import io.nosqlbench.engine.api.activityimpl.ParameterMap; -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.concurrent.BlockingQueue; @@ -38,7 +38,7 @@ import java.util.stream.Collectors; public class AsyncDiagAction extends BaseAsyncAction implements Thread.UncaughtExceptionHandler, StrideOutputConsumer { - private final static Logger logger = LoggerFactory.getLogger(AsyncDiagAction.class); + private final static Logger logger = LogManager.getLogger(AsyncDiagAction.class); private long lastUpdate; private long quantizedInterval; @@ -213,8 +213,8 @@ public class AsyncDiagAction extends BaseAsyncAction i private final AsyncDiagAction action; AsyncDiagAction mainContext; private volatile boolean running = true; - private Thread thread; - private String name; + private final Thread thread; + private final String name; public OpFinisher(String name, BlockingQueue> queue, AsyncDiagAction action) { this.queue = queue; diff --git a/driver-diag/src/main/java/io/nosqlbench/activitytype/diag/DiagAction.java b/driver-diag/src/main/java/io/nosqlbench/activitytype/diag/DiagAction.java index 0bab6740e..5f84a400c 100644 --- a/driver-diag/src/main/java/io/nosqlbench/activitytype/diag/DiagAction.java +++ b/driver-diag/src/main/java/io/nosqlbench/activitytype/diag/DiagAction.java @@ -20,16 +20,16 @@ import io.nosqlbench.engine.api.activityapi.core.MultiPhaseAction; import io.nosqlbench.engine.api.activityapi.core.SyncAction; import io.nosqlbench.engine.api.activityapi.ratelimits.RateLimiter; import io.nosqlbench.engine.api.activityimpl.ActivityDef; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; public class DiagAction implements SyncAction, ActivityDefObserver, MultiPhaseAction { - private final static Logger logger = LoggerFactory.getLogger(DiagAction.class); + private final static Logger logger = LogManager.getLogger(DiagAction.class); private final ActivityDef activityDef; private final DiagActivity diagActivity; - private int slot; + private final int slot; private long lastUpdate; private long quantizedInterval; private long reportModulo; diff --git a/driver-diag/src/main/java/io/nosqlbench/activitytype/diag/DiagActionDispenser.java b/driver-diag/src/main/java/io/nosqlbench/activitytype/diag/DiagActionDispenser.java index 1ff3a45c3..c961844f1 100644 --- a/driver-diag/src/main/java/io/nosqlbench/activitytype/diag/DiagActionDispenser.java +++ b/driver-diag/src/main/java/io/nosqlbench/activitytype/diag/DiagActionDispenser.java @@ -16,14 +16,13 @@ package io.nosqlbench.activitytype.diag; import io.nosqlbench.engine.api.activityapi.core.Action; import io.nosqlbench.engine.api.activityapi.core.ActionDispenser; -import org.slf4j.Logger; - -import static org.slf4j.LoggerFactory.getLogger; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; public class DiagActionDispenser implements ActionDispenser { - private final static Logger logger = getLogger(DiagActionDispenser.class); - private DiagActivity activity; + private final static Logger logger = LogManager.getLogger(DiagActionDispenser.class); + private final DiagActivity activity; public DiagActionDispenser(DiagActivity activity) { this.activity = activity; diff --git a/driver-diag/src/main/java/io/nosqlbench/activitytype/diag/DiagActivityType.java b/driver-diag/src/main/java/io/nosqlbench/activitytype/diag/DiagActivityType.java index 8196384c5..27083fe2f 100644 --- a/driver-diag/src/main/java/io/nosqlbench/activitytype/diag/DiagActivityType.java +++ b/driver-diag/src/main/java/io/nosqlbench/activitytype/diag/DiagActivityType.java @@ -19,8 +19,8 @@ import io.nosqlbench.engine.api.activityapi.core.ActionDispenser; import io.nosqlbench.engine.api.activityapi.core.ActivityType; import io.nosqlbench.engine.api.activityimpl.ActivityDef; import io.nosqlbench.nb.annotations.Service; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; /** * The DiagActivity, aka "diag", is simply a diagnostic activity. @@ -33,7 +33,7 @@ import org.slf4j.LoggerFactory; @Service(ActivityType.class) public class DiagActivityType implements ActivityType { - private static final Logger logger = LoggerFactory.getLogger(DiagActivityType.class); + private static final Logger logger = LogManager.getLogger(DiagActivityType.class); @Override public String getName() { diff --git a/driver-diag/src/main/java/io/nosqlbench/activitytype/diag/SequenceBlocker.java b/driver-diag/src/main/java/io/nosqlbench/activitytype/diag/SequenceBlocker.java index af96a1225..550cb353d 100644 --- a/driver-diag/src/main/java/io/nosqlbench/activitytype/diag/SequenceBlocker.java +++ b/driver-diag/src/main/java/io/nosqlbench/activitytype/diag/SequenceBlocker.java @@ -17,14 +17,14 @@ package io.nosqlbench.activitytype.diag; -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.concurrent.atomic.AtomicLong; public class SequenceBlocker { - private final static Logger logger = LoggerFactory.getLogger(SequenceBlocker.class); + private final static Logger logger = LogManager.getLogger(SequenceBlocker.class); private final AtomicLong sequence; private final AtomicLong waiting=new AtomicLong(0L); private final boolean errorsAreFatal; diff --git a/driver-http/src/main/java/io/nosqlbench/activitytype/http/HttpAction.java b/driver-http/src/main/java/io/nosqlbench/activitytype/http/HttpAction.java index 327b79c6c..b97425c47 100644 --- a/driver-http/src/main/java/io/nosqlbench/activitytype/http/HttpAction.java +++ b/driver-http/src/main/java/io/nosqlbench/activitytype/http/HttpAction.java @@ -8,8 +8,8 @@ import io.nosqlbench.engine.api.activityapi.planning.OpSequence; import io.nosqlbench.engine.api.activityimpl.ActivityDef; import io.nosqlbench.nb.api.errors.BasicError; import io.nosqlbench.virtdata.core.templates.StringBindings; -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.net.http.HttpClient; @@ -23,7 +23,7 @@ import java.util.concurrent.TimeUnit; public class HttpAction implements SyncAction { - private final static Logger logger = LoggerFactory.getLogger(HttpAction.class); + private final static Logger logger = LogManager.getLogger(HttpAction.class); private final HttpActivity httpActivity; private final int slot; diff --git a/driver-http/src/main/java/io/nosqlbench/activitytype/http/HttpActivity.java b/driver-http/src/main/java/io/nosqlbench/activitytype/http/HttpActivity.java index f0169b7b6..01d40da6c 100644 --- a/driver-http/src/main/java/io/nosqlbench/activitytype/http/HttpActivity.java +++ b/driver-http/src/main/java/io/nosqlbench/activitytype/http/HttpActivity.java @@ -10,14 +10,14 @@ import io.nosqlbench.engine.api.activityapi.planning.OpSequence; import io.nosqlbench.engine.api.activityimpl.ActivityDef; import io.nosqlbench.engine.api.activityimpl.SimpleActivity; import io.nosqlbench.engine.api.metrics.ActivityMetrics; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; import java.net.http.HttpClient; import java.util.function.Function; public class HttpActivity extends SimpleActivity implements Activity, ActivityDefObserver { - private final static Logger logger = LoggerFactory.getLogger(HttpActivity.class); + private final static Logger logger = LogManager.getLogger(HttpActivity.class); private final ActivityDef activityDef; public HttpConsoleFormats console; diff --git a/driver-http/src/main/java/io/nosqlbench/activitytype/http/HttpActivityType.java b/driver-http/src/main/java/io/nosqlbench/activitytype/http/HttpActivityType.java index 800e5bd24..6d24956dc 100644 --- a/driver-http/src/main/java/io/nosqlbench/activitytype/http/HttpActivityType.java +++ b/driver-http/src/main/java/io/nosqlbench/activitytype/http/HttpActivityType.java @@ -4,13 +4,13 @@ import io.nosqlbench.engine.api.activityapi.core.ActionDispenser; import io.nosqlbench.engine.api.activityapi.core.ActivityType; import io.nosqlbench.engine.api.activityimpl.ActivityDef; import io.nosqlbench.nb.annotations.Service; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; @Service(ActivityType.class) public class HttpActivityType implements ActivityType { - private static final Logger logger = LoggerFactory.getLogger(HttpActivityType.class); + private static final Logger logger = LogManager.getLogger(HttpActivityType.class); @Override public String getName() { diff --git a/driver-http/src/main/java/io/nosqlbench/activitytype/http/async/HttpAsyncAction.java b/driver-http/src/main/java/io/nosqlbench/activitytype/http/async/HttpAsyncAction.java index 676e335e6..461a66088 100644 --- a/driver-http/src/main/java/io/nosqlbench/activitytype/http/async/HttpAsyncAction.java +++ b/driver-http/src/main/java/io/nosqlbench/activitytype/http/async/HttpAsyncAction.java @@ -7,8 +7,8 @@ import io.nosqlbench.activitytype.http.HttpActivity; import io.nosqlbench.engine.api.activityapi.core.BaseAsyncAction; import io.nosqlbench.engine.api.activityapi.core.ops.fluent.opfacets.TrackedOp; import io.nosqlbench.engine.api.activityapi.planning.OpSequence; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; import java.net.http.HttpClient; import java.net.http.HttpResponse; @@ -17,7 +17,7 @@ import java.util.function.LongFunction; public class HttpAsyncAction extends BaseAsyncAction { - private final static Logger logger = LoggerFactory.getLogger(HttpAsyncAction.class); + private final static Logger logger = LogManager.getLogger(HttpAsyncAction.class); private OpSequence sequencer; private HttpClient client; diff --git a/driver-jmx/src/main/java/io/nosqlbench/driver/jmx/JMXAction.java b/driver-jmx/src/main/java/io/nosqlbench/driver/jmx/JMXAction.java index fdd6d0010..b5e22ed46 100644 --- a/driver-jmx/src/main/java/io/nosqlbench/driver/jmx/JMXAction.java +++ b/driver-jmx/src/main/java/io/nosqlbench/driver/jmx/JMXAction.java @@ -4,12 +4,12 @@ import io.nosqlbench.driver.jmx.ops.JmxOp; import io.nosqlbench.engine.api.activityapi.core.SyncAction; import io.nosqlbench.engine.api.activityapi.planning.OpSequence; import io.nosqlbench.engine.api.activityimpl.ActivityDef; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; public class JMXAction implements SyncAction { - private final static Logger logger = LoggerFactory.getLogger(JMXAction.class); + private final static Logger logger = LogManager.getLogger(JMXAction.class); private final ActivityDef activityDef; private final int slot; diff --git a/driver-jmx/src/main/java/io/nosqlbench/driver/jmx/SecureUtils.java b/driver-jmx/src/main/java/io/nosqlbench/driver/jmx/SecureUtils.java index e103540bd..7934ecbe7 100644 --- a/driver-jmx/src/main/java/io/nosqlbench/driver/jmx/SecureUtils.java +++ b/driver-jmx/src/main/java/io/nosqlbench/driver/jmx/SecureUtils.java @@ -1,16 +1,15 @@ package io.nosqlbench.driver.jmx; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; -import java.io.Console; import java.io.IOException; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; public class SecureUtils { - private final static Logger logger = LoggerFactory.getLogger(SecureUtils.class); + private final static Logger logger = LogManager.getLogger(SecureUtils.class); public static String readSecret(String description, String source) { if (source==null) { diff --git a/driver-jmx/src/main/java/io/nosqlbench/driver/jmx/ops/JmxOp.java b/driver-jmx/src/main/java/io/nosqlbench/driver/jmx/ops/JmxOp.java index 99a5985ae..abd006fa8 100644 --- a/driver-jmx/src/main/java/io/nosqlbench/driver/jmx/ops/JmxOp.java +++ b/driver-jmx/src/main/java/io/nosqlbench/driver/jmx/ops/JmxOp.java @@ -1,7 +1,7 @@ package io.nosqlbench.driver.jmx.ops; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; import javax.management.MBeanServerConnection; import javax.management.ObjectName; @@ -12,7 +12,7 @@ import javax.management.remote.JMXConnector; */ public abstract class JmxOp { - protected final static Logger logger = LoggerFactory.getLogger(JmxOp.class); + protected final static Logger logger = LogManager.getLogger(JmxOp.class); protected JMXConnector connector; protected ObjectName objectName; diff --git a/driver-kafka/src/main/java/com/datastax/ebdrivers/kafkaproducer/KafkaAction.java b/driver-kafka/src/main/java/com/datastax/ebdrivers/kafkaproducer/KafkaAction.java index f01b3e82b..c34143c2c 100644 --- a/driver-kafka/src/main/java/com/datastax/ebdrivers/kafkaproducer/KafkaAction.java +++ b/driver-kafka/src/main/java/com/datastax/ebdrivers/kafkaproducer/KafkaAction.java @@ -2,13 +2,13 @@ package com.datastax.ebdrivers.kafkaproducer; import io.nosqlbench.engine.api.activityapi.core.SyncAction; import io.nosqlbench.engine.api.activityapi.planning.OpSequence; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; public class KafkaAction implements SyncAction { - private final static Logger logger = LoggerFactory.getLogger(KafkaAction.class); + private final static Logger logger = LogManager.getLogger(KafkaAction.class); private final KafkaProducerActivity activity; private final int slot; diff --git a/driver-kafka/src/main/java/com/datastax/ebdrivers/kafkaproducer/KafkaProducerActivity.java b/driver-kafka/src/main/java/com/datastax/ebdrivers/kafkaproducer/KafkaProducerActivity.java index 30189c531..54ec6513b 100644 --- a/driver-kafka/src/main/java/com/datastax/ebdrivers/kafkaproducer/KafkaProducerActivity.java +++ b/driver-kafka/src/main/java/com/datastax/ebdrivers/kafkaproducer/KafkaProducerActivity.java @@ -4,7 +4,6 @@ import com.codahale.metrics.Timer; import io.nosqlbench.engine.api.activityapi.planning.OpSequence; import io.nosqlbench.engine.api.activityapi.planning.SequencePlanner; import io.nosqlbench.engine.api.activityapi.planning.SequencerType; -import io.nosqlbench.engine.api.activityconfig.ParsedStmt; import io.nosqlbench.engine.api.activityconfig.StatementsLoader; import io.nosqlbench.engine.api.activityconfig.yaml.OpTemplate; import io.nosqlbench.engine.api.activityconfig.yaml.StmtsDocList; @@ -12,22 +11,15 @@ import io.nosqlbench.engine.api.activityimpl.ActivityDef; import io.nosqlbench.engine.api.activityimpl.SimpleActivity; import io.nosqlbench.engine.api.metrics.ActivityMetrics; import io.nosqlbench.engine.api.templating.StrInterpolator; -import io.nosqlbench.virtdata.core.bindings.BindingsTemplate; -import io.nosqlbench.virtdata.core.templates.StringBindings; -import io.nosqlbench.virtdata.core.templates.StringBindingsTemplate; -import org.apache.kafka.clients.producer.*; -import org.apache.kafka.common.serialization.StringSerializer; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; -import java.util.*; -import java.util.concurrent.Future; -import java.util.function.Function; -import java.util.regex.Pattern; +import java.util.Arrays; +import java.util.List; import java.util.stream.Collectors; public class KafkaProducerActivity extends SimpleActivity { - private final static Logger logger = LoggerFactory.getLogger(KafkaProducerActivity.class); + private final static Logger logger = LogManager.getLogger(KafkaProducerActivity.class); private String yamlLoc; private String clientId; private String servers; diff --git a/driver-kafka/src/main/java/com/datastax/ebdrivers/kafkaproducer/KafkaStatement.java b/driver-kafka/src/main/java/com/datastax/ebdrivers/kafkaproducer/KafkaStatement.java index e0323248c..20796b233 100644 --- a/driver-kafka/src/main/java/com/datastax/ebdrivers/kafkaproducer/KafkaStatement.java +++ b/driver-kafka/src/main/java/com/datastax/ebdrivers/kafkaproducer/KafkaStatement.java @@ -9,8 +9,8 @@ import io.nosqlbench.virtdata.core.templates.StringBindings; import io.nosqlbench.virtdata.core.templates.StringBindingsTemplate; import org.apache.kafka.clients.producer.*; import org.apache.kafka.common.serialization.StringSerializer; -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; @@ -20,7 +20,7 @@ import java.util.Properties; import java.util.concurrent.Future; public class KafkaStatement { - private final static Logger logger = LoggerFactory.getLogger(KafkaStatement.class); + private final static Logger logger = LogManager.getLogger(KafkaStatement.class); private Producer producer = null; private final StringBindings bindings; diff --git a/driver-mongodb/src/main/java/io/nosqlbench/driver/mongodb/MongoAction.java b/driver-mongodb/src/main/java/io/nosqlbench/driver/mongodb/MongoAction.java index 4a97622fe..beaad3839 100644 --- a/driver-mongodb/src/main/java/io/nosqlbench/driver/mongodb/MongoAction.java +++ b/driver-mongodb/src/main/java/io/nosqlbench/driver/mongodb/MongoAction.java @@ -2,8 +2,8 @@ package io.nosqlbench.driver.mongodb; import java.util.concurrent.TimeUnit; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; import com.codahale.metrics.Timer; import io.nosqlbench.engine.api.activityapi.core.SyncAction; @@ -13,7 +13,7 @@ import org.bson.conversions.Bson; public class MongoAction implements SyncAction { - private final static Logger logger = LoggerFactory.getLogger(MongoAction.class); + private final static Logger logger = LogManager.getLogger(MongoAction.class); private final MongoActivity activity; private final int slot; diff --git a/driver-mongodb/src/main/java/io/nosqlbench/driver/mongodb/MongoActivity.java b/driver-mongodb/src/main/java/io/nosqlbench/driver/mongodb/MongoActivity.java index 47f2d1bc0..73434d7a2 100644 --- a/driver-mongodb/src/main/java/io/nosqlbench/driver/mongodb/MongoActivity.java +++ b/driver-mongodb/src/main/java/io/nosqlbench/driver/mongodb/MongoActivity.java @@ -5,8 +5,8 @@ import java.util.Objects; import java.util.function.Function; import io.nosqlbench.engine.api.activityconfig.yaml.OpTemplate; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; import com.codahale.metrics.Histogram; import com.codahale.metrics.Timer; @@ -37,7 +37,7 @@ import static org.bson.codecs.configuration.CodecRegistries.fromRegistries; public class MongoActivity extends SimpleActivity implements ActivityDefObserver { - private final static Logger logger = LoggerFactory.getLogger(MongoActivity.class); + private final static Logger logger = LogManager.getLogger(MongoActivity.class); private String yamlLoc; private String connectionString; diff --git a/driver-mongodb/src/test/java/io/nosqlbench/driver/mongodb/ReadyMongoStatementTest.java b/driver-mongodb/src/test/java/io/nosqlbench/driver/mongodb/ReadyMongoStatementTest.java index 8d4071700..99d462045 100644 --- a/driver-mongodb/src/test/java/io/nosqlbench/driver/mongodb/ReadyMongoStatementTest.java +++ b/driver-mongodb/src/test/java/io/nosqlbench/driver/mongodb/ReadyMongoStatementTest.java @@ -1,28 +1,26 @@ package io.nosqlbench.driver.mongodb; +import io.nosqlbench.engine.api.activityconfig.ParsedStmt; +import io.nosqlbench.engine.api.activityconfig.StatementsLoader; +import io.nosqlbench.engine.api.activityconfig.yaml.OpTemplate; +import io.nosqlbench.engine.api.activityconfig.yaml.StmtsDocList; +import io.nosqlbench.engine.api.activityimpl.ActivityDef; +import io.nosqlbench.engine.api.templating.StrInterpolator; +import io.nosqlbench.virtdata.core.templates.BindPoint; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.bson.conversions.Bson; +import org.junit.Before; +import org.junit.Test; + import java.util.List; import java.util.Objects; import java.util.function.Function; -import io.nosqlbench.engine.api.activityconfig.yaml.OpTemplate; -import org.junit.Before; -import org.junit.Test; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import io.nosqlbench.engine.api.activityconfig.ParsedStmt; -import io.nosqlbench.engine.api.activityconfig.StatementsLoader; -import io.nosqlbench.engine.api.activityconfig.yaml.StmtDef; -import io.nosqlbench.engine.api.activityconfig.yaml.StmtsDocList; -import io.nosqlbench.engine.api.activityimpl.ActivityDef; -import io.nosqlbench.engine.api.templating.StrInterpolator; -import io.nosqlbench.virtdata.core.templates.BindPoint; -import org.bson.conversions.Bson; - import static org.assertj.core.api.Assertions.assertThat; public class ReadyMongoStatementTest { - private final static Logger logger = LoggerFactory.getLogger(ReadyMongoStatementTest.class); + private final static Logger logger = LogManager.getLogger(ReadyMongoStatementTest.class); private ActivityDef activityDef; private StmtsDocList stmtsDocList; diff --git a/driver-stdout/src/main/java/io/nosqlbench/activitytype/stdout/AsyncStdoutAction.java b/driver-stdout/src/main/java/io/nosqlbench/activitytype/stdout/AsyncStdoutAction.java index 89c9363c2..56c27ef7f 100644 --- a/driver-stdout/src/main/java/io/nosqlbench/activitytype/stdout/AsyncStdoutAction.java +++ b/driver-stdout/src/main/java/io/nosqlbench/activitytype/stdout/AsyncStdoutAction.java @@ -7,14 +7,14 @@ import io.nosqlbench.engine.api.activityapi.core.ops.fluent.opfacets.TrackedOp; import io.nosqlbench.engine.api.activityapi.planning.OpSequence; import io.nosqlbench.engine.api.activityimpl.ActivityDef; import io.nosqlbench.virtdata.core.templates.StringBindings; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; import java.util.function.LongFunction; @SuppressWarnings("Duplicates") public class AsyncStdoutAction extends BaseAsyncAction { - private final static Logger logger = LoggerFactory.getLogger(AsyncStdoutAction.class); + private final static Logger logger = LogManager.getLogger(AsyncStdoutAction.class); private OpSequence sequencer; diff --git a/driver-stdout/src/main/java/io/nosqlbench/activitytype/stdout/StdoutAction.java b/driver-stdout/src/main/java/io/nosqlbench/activitytype/stdout/StdoutAction.java index 14ff703a6..0212634dc 100644 --- a/driver-stdout/src/main/java/io/nosqlbench/activitytype/stdout/StdoutAction.java +++ b/driver-stdout/src/main/java/io/nosqlbench/activitytype/stdout/StdoutAction.java @@ -19,20 +19,20 @@ package io.nosqlbench.activitytype.stdout; import com.codahale.metrics.Timer; import io.nosqlbench.engine.api.activityapi.core.SyncAction; -import io.nosqlbench.engine.api.activityapi.planning.OpSequence; +import io.nosqlbench.engine.api.activityapi.planning.OpSource; import io.nosqlbench.virtdata.core.templates.StringBindings; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; @SuppressWarnings("Duplicates") public class StdoutAction implements SyncAction { - private static final Logger logger = LoggerFactory.getLogger(StdoutAction.class); - private int slot; - private StdoutActivity activity; - private int maxTries = 10; + private static final Logger logger = LogManager.getLogger(StdoutAction.class); + private final int slot; + private final StdoutActivity activity; + private final int maxTries = 10; private boolean showstmts; - private OpSequence sequencer; + private OpSource opsource; public StdoutAction(int slot, StdoutActivity activity) { this.slot = slot; @@ -41,7 +41,7 @@ public class StdoutAction implements SyncAction { @Override public void init() { - this.sequencer = activity.getOpSequence(); + this.opsource = activity.getOpSequence(); } @Override @@ -49,7 +49,7 @@ public class StdoutAction implements SyncAction { StringBindings stringBindings; String statement = null; try (Timer.Context bindTime = activity.bindTimer.time()) { - stringBindings = sequencer.get(cycleValue); + stringBindings = opsource.get(cycleValue); statement = stringBindings.bind(cycleValue); showstmts = activity.getShowstmts(); if (showstmts) { diff --git a/driver-stdout/src/main/java/io/nosqlbench/activitytype/stdout/StdoutActivity.java b/driver-stdout/src/main/java/io/nosqlbench/activitytype/stdout/StdoutActivity.java index 82aa41aed..a830b6e99 100644 --- a/driver-stdout/src/main/java/io/nosqlbench/activitytype/stdout/StdoutActivity.java +++ b/driver-stdout/src/main/java/io/nosqlbench/activitytype/stdout/StdoutActivity.java @@ -36,8 +36,8 @@ import io.nosqlbench.engine.api.templating.StrInterpolator; import io.nosqlbench.virtdata.core.bindings.BindingsTemplate; import io.nosqlbench.virtdata.core.templates.StringBindings; import io.nosqlbench.virtdata.core.templates.StringBindingsTemplate; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; import java.io.FileNotFoundException; import java.io.PrintWriter; @@ -48,7 +48,7 @@ import java.util.regex.Pattern; @SuppressWarnings("Duplicates") public class StdoutActivity extends SimpleActivity implements ActivityDefObserver { - private final static Logger logger = LoggerFactory.getLogger(StdoutActivity.class); + private final static Logger logger = LogManager.getLogger(StdoutActivity.class); private final Boolean showstmts; private final StmtsDocList stmtsDocList; public Timer bindTimer; diff --git a/driver-tcp/src/main/java/io/nosqlbench/activitytype/tcpclient/TCPClientActivity.java b/driver-tcp/src/main/java/io/nosqlbench/activitytype/tcpclient/TCPClientActivity.java index dfa814968..f65d9c262 100644 --- a/driver-tcp/src/main/java/io/nosqlbench/activitytype/tcpclient/TCPClientActivity.java +++ b/driver-tcp/src/main/java/io/nosqlbench/activitytype/tcpclient/TCPClientActivity.java @@ -20,8 +20,8 @@ package io.nosqlbench.activitytype.tcpclient; import io.nosqlbench.activitytype.stdout.StdoutActivity; import io.nosqlbench.engine.api.activityimpl.ActivityDef; import io.nosqlbench.engine.api.util.SSLKsFactory; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; import javax.net.SocketFactory; import java.io.IOException; @@ -29,7 +29,7 @@ import java.io.PrintWriter; import java.net.Socket; public class TCPClientActivity extends StdoutActivity { - private final static Logger logger = LoggerFactory.getLogger(TCPClientActivity.class); + private final static Logger logger = LogManager.getLogger(TCPClientActivity.class); public TCPClientActivity(ActivityDef activityDef) { super(activityDef); diff --git a/driver-tcp/src/main/java/io/nosqlbench/activitytype/tcpserver/TCPServerActivity.java b/driver-tcp/src/main/java/io/nosqlbench/activitytype/tcpserver/TCPServerActivity.java index da758c9aa..caf83f0a2 100644 --- a/driver-tcp/src/main/java/io/nosqlbench/activitytype/tcpserver/TCPServerActivity.java +++ b/driver-tcp/src/main/java/io/nosqlbench/activitytype/tcpserver/TCPServerActivity.java @@ -20,8 +20,8 @@ package io.nosqlbench.activitytype.tcpserver; import io.nosqlbench.activitytype.stdout.StdoutActivity; import io.nosqlbench.engine.api.activityimpl.ActivityDef; import io.nosqlbench.engine.api.util.SSLKsFactory; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; import javax.net.ServerSocketFactory; import javax.net.ssl.SSLServerSocketFactory; @@ -41,11 +41,11 @@ import java.util.concurrent.LinkedBlockingQueue; public class TCPServerActivity extends StdoutActivity { - private final static Logger logger = LoggerFactory.getLogger(TCPServerActivity.class); + private final static Logger logger = LogManager.getLogger(TCPServerActivity.class); private final ServerSocketFactory socketFactory; - private LinkedBlockingQueue queue; + private final LinkedBlockingQueue queue; private ServerSocket listenerSocket; - private List managedShutdown = new ArrayList<>(); + private final List managedShutdown = new ArrayList<>(); private int capacity=10; @@ -118,7 +118,7 @@ public class TCPServerActivity extends StdoutActivity { } - private static interface Shutdown { + private interface Shutdown { void shutdown(); } diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/WebContext.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/WebContext.java index ce61fa79e..c67e084f8 100644 --- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/WebContext.java +++ b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/WebContext.java @@ -1,8 +1,8 @@ package io.nosqlbench.driver.webdriver; import org.openqa.selenium.*; -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.HashMap; @@ -10,14 +10,14 @@ import java.util.LinkedList; import java.util.List; public class WebContext { - private final static Logger logger = LoggerFactory.getLogger(WebContext.class); + private final static Logger logger = LogManager.getLogger(WebContext.class); private final WebDriver rootwindow; WebDriver focus; LinkedList elements = new LinkedList<>(); - private LinkedList cookies = new LinkedList<>(); - private HashMap vars = new HashMap<>(); + private final LinkedList cookies = new LinkedList<>(); + private final HashMap vars = new HashMap<>(); private Alert alert; public WebContext(WebDriver initial) { diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/WebDriverAction.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/WebDriverAction.java index be85b8b24..39a393f69 100644 --- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/WebDriverAction.java +++ b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/WebDriverAction.java @@ -5,16 +5,14 @@ import io.nosqlbench.engine.api.activityapi.core.ActivityDefObserver; import io.nosqlbench.engine.api.activityapi.core.SyncAction; import io.nosqlbench.engine.api.activityimpl.ActivityDef; import io.nosqlbench.engine.api.templating.CommandTemplate; -import io.nosqlbench.nb.api.errors.BasicError; -import org.openqa.selenium.WebDriver; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; /** * Holds the definition and tracking state for a web driver command. */ public class WebDriverAction implements SyncAction, ActivityDefObserver { - private final static Logger logger = LoggerFactory.getLogger(WebDriverAction.class); + private final static Logger logger = LogManager.getLogger(WebDriverAction.class); private final WebDriverActivity activity; private final int slot; diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/WebDriverActivity.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/WebDriverActivity.java index e780eccc6..0f9a5d787 100644 --- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/WebDriverActivity.java +++ b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/WebDriverActivity.java @@ -10,7 +10,6 @@ import io.nosqlbench.engine.api.activityapi.planning.SequencePlanner; import io.nosqlbench.engine.api.activityapi.planning.SequencerType; import io.nosqlbench.engine.api.activityconfig.StatementsLoader; import io.nosqlbench.engine.api.activityconfig.yaml.OpTemplate; -import io.nosqlbench.engine.api.activityconfig.yaml.StmtDef; import io.nosqlbench.engine.api.activityconfig.yaml.StmtsDocList; import io.nosqlbench.engine.api.activityimpl.ActivityDef; import io.nosqlbench.engine.api.activityimpl.SimpleActivity; @@ -18,27 +17,29 @@ import io.nosqlbench.engine.api.templating.CommandTemplate; import io.nosqlbench.engine.api.templating.StrInterpolator; import io.nosqlbench.nb.api.content.NBIO; import io.nosqlbench.nb.api.errors.BasicError; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.chrome.ChromeOptions; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; -import java.util.*; +import java.util.LinkedHashMap; import java.util.List; +import java.util.Map; +import java.util.Optional; import java.util.concurrent.ConcurrentHashMap; public class WebDriverActivity extends SimpleActivity { - private final static Logger logger = LoggerFactory.getLogger(WebDriverActivity.class); + private final static Logger logger = LogManager.getLogger(WebDriverActivity.class); // private final StmtsDocList stmtsDocList; private OpSequence opSequence; - private ConcurrentHashMap contexts = new ConcurrentHashMap<>(); + private final ConcurrentHashMap contexts = new ConcurrentHashMap<>(); // private static ThreadLocal TL_WebContext = new ThreadLocal<>(); public WebDriverActivity(ActivityDef activityDef) { diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/AssertElement.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/AssertElement.java index 7a0bb7c97..c0daf5b09 100644 --- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/AssertElement.java +++ b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/AssertElement.java @@ -1,16 +1,13 @@ package io.nosqlbench.driver.webdriver.verbs; import io.nosqlbench.driver.webdriver.WebContext; -import io.nosqlbench.nb.api.errors.BasicError; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.openqa.selenium.By; -import org.openqa.selenium.NoSuchElementException; -import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; public class AssertElement implements WebDriverVerb { - private final static Logger logger = LoggerFactory.getLogger(AssertElement.class); + private final static Logger logger = LogManager.getLogger(AssertElement.class); private final By by; public AssertElement(By by) { diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/FindElement.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/FindElement.java index 535b2a9a5..0991cad67 100644 --- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/FindElement.java +++ b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/FindElement.java @@ -1,15 +1,14 @@ package io.nosqlbench.driver.webdriver.verbs; import io.nosqlbench.driver.webdriver.WebContext; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.openqa.selenium.By; import org.openqa.selenium.NoSuchElementException; -import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; public class FindElement implements WebDriverVerb { - private final static Logger logger = LoggerFactory.getLogger(FindElement.class); + private final static Logger logger = LogManager.getLogger(FindElement.class); private final By by; diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/FindElements.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/FindElements.java index 1bd842111..8c2015b05 100644 --- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/FindElements.java +++ b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/FindElements.java @@ -1,17 +1,16 @@ package io.nosqlbench.driver.webdriver.verbs; import io.nosqlbench.driver.webdriver.WebContext; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.openqa.selenium.By; import org.openqa.selenium.NoSuchElementException; -import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import java.util.List; public class FindElements implements WebDriverVerb { - private final static Logger logger = LoggerFactory.getLogger(FindElements.class); + private final static Logger logger = LogManager.getLogger(FindElements.class); private final By by; diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/Get.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/Get.java index 9370aff7a..b5c958d26 100644 --- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/Get.java +++ b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/Get.java @@ -1,11 +1,11 @@ package io.nosqlbench.driver.webdriver.verbs; import io.nosqlbench.driver.webdriver.WebContext; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; public class Get implements WebDriverVerb { - private final static Logger logger = LoggerFactory.getLogger(Get.class); + private final static Logger logger = LogManager.getLogger(Get.class); private final String target; diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/WebDriverVerbs.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/WebDriverVerbs.java index b03f8df49..7d32e1ce6 100644 --- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/WebDriverVerbs.java +++ b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/WebDriverVerbs.java @@ -3,8 +3,8 @@ package io.nosqlbench.driver.webdriver.verbs; import io.nosqlbench.driver.webdriver.WebContext; import io.nosqlbench.engine.api.templating.CommandTemplate; 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.Map; @@ -19,7 +19,7 @@ import java.util.function.Function; * The JUnit exporter command generator */ public class WebDriverVerbs { - private final static Logger logger = LoggerFactory.getLogger(WebDriverVerbs.class); + private final static Logger logger = LogManager.getLogger(WebDriverVerbs.class); public final static String COMMAND = "command"; public enum Verb { diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/core/BaseAsyncAction.java b/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/core/BaseAsyncAction.java index 7d6ccc655..fc299a8d8 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/core/BaseAsyncAction.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/core/BaseAsyncAction.java @@ -20,8 +20,8 @@ package io.nosqlbench.engine.api.activityapi.core; import io.nosqlbench.engine.api.activityapi.core.ops.fluent.opfacets.TrackedOp; import io.nosqlbench.engine.api.activityimpl.ActivityDef; import io.nosqlbench.engine.api.activityimpl.ParameterMap; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; /** * @@ -29,7 +29,7 @@ import org.slf4j.LoggerFactory; * @param An type of of an Activity, a state holder for a runtime instance of an Activity */ public abstract class BaseAsyncAction implements AsyncAction, Stoppable, ActivityDefObserver { - private final static Logger logger = LoggerFactory.getLogger("BaseAsyncAction"); + private final static Logger logger = LogManager.getLogger("BaseAsyncAction"); protected final A activity; diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/cyclelog/buffers/results_rle/CycleResultsRLEBufferTarget.java b/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/cyclelog/buffers/results_rle/CycleResultsRLEBufferTarget.java index 83ff87acd..c599e21f3 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/cyclelog/buffers/results_rle/CycleResultsRLEBufferTarget.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/cyclelog/buffers/results_rle/CycleResultsRLEBufferTarget.java @@ -21,8 +21,8 @@ import io.nosqlbench.engine.api.activityapi.cyclelog.buffers.results.CycleResult import io.nosqlbench.engine.api.activityapi.cyclelog.buffers.results.ResultReadable; import io.nosqlbench.engine.api.activityapi.cyclelog.inputs.cyclelog.CanFilterResultValue; import io.nosqlbench.engine.api.activityapi.output.Output; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; import java.nio.ByteBuffer; import java.util.function.Predicate; @@ -40,7 +40,7 @@ import java.util.function.Predicate; * will be deemed invalid and will cause an exception to be thrown. */ public class CycleResultsRLEBufferTarget implements Output,CanFilterResultValue { - private final static Logger logger = LoggerFactory.getLogger(CycleResultsRLEBufferTarget.class); + private final static Logger logger = LogManager.getLogger(CycleResultsRLEBufferTarget.class); public final static int BYTES = Long.BYTES + Long.BYTES + Byte.BYTES; @@ -49,8 +49,8 @@ public class CycleResultsRLEBufferTarget implements Output,CanFilterResultValue private long lastResult = Integer.MIN_VALUE; private long runlength = 0L; private boolean flushed = false; - private long count=0L; - private long min=Long.MAX_VALUE; + private final long count=0L; + private final long min=Long.MAX_VALUE; private Predicate filter; /** @@ -147,7 +147,7 @@ public class CycleResultsRLEBufferTarget implements Output,CanFilterResultValue } private static class ResultReadableWrapper implements ResultReadable { - private int result; + private final int result; ResultReadableWrapper(int result) { this.result = result; } diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/cyclelog/filters/tristate/EnumReadableMappingFilter.java b/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/cyclelog/filters/tristate/EnumReadableMappingFilter.java index 55c0fde5b..6d75c3470 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/cyclelog/filters/tristate/EnumReadableMappingFilter.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/cyclelog/filters/tristate/EnumReadableMappingFilter.java @@ -18,8 +18,8 @@ package io.nosqlbench.engine.api.activityapi.cyclelog.filters.tristate; import io.nosqlbench.engine.api.activityapi.cyclelog.buffers.results.ResultReadable; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; import java.util.regex.Pattern; @@ -31,10 +31,10 @@ import java.util.regex.Pattern; * @param The type of the Enum which implements TristateFilter */ public class EnumReadableMappingFilter & ResultReadable> implements TristateFilter { - private final static Logger logger = LoggerFactory.getLogger(EnumReadableMappingFilter.class); + private final static Logger logger = LogManager.getLogger(EnumReadableMappingFilter.class); private final E[] enumValues; - private ResultMappingArrayFilter arrayFilter = new ResultMappingArrayFilter(); + private final ResultMappingArrayFilter arrayFilter = new ResultMappingArrayFilter(); public EnumReadableMappingFilter(E[] enumValues, Policy defaultPolicy) { this.enumValues = enumValues; diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/cyclelog/inputs/cyclelog/CycleLogInput.java b/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/cyclelog/inputs/cyclelog/CycleLogInput.java index 6e4a0e40a..9a6ba5e61 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/cyclelog/inputs/cyclelog/CycleLogInput.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/cyclelog/inputs/cyclelog/CycleLogInput.java @@ -27,8 +27,8 @@ import io.nosqlbench.engine.api.activityapi.cyclelog.buffers.results_rle.CycleRe import io.nosqlbench.engine.api.activityapi.input.Input; import io.nosqlbench.engine.api.util.SimpleConfig; -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.RandomAccessFile; @@ -38,7 +38,7 @@ import java.util.Iterator; import java.util.function.Predicate; public class CycleLogInput implements Input, AutoCloseable, Iterable, CanFilterResultValue { - private final static Logger logger = LoggerFactory.getLogger(CycleLogInput.class); + private final static Logger logger = LogManager.getLogger(CycleLogInput.class); private final Iterator cycleResultSegmentIterator; private RandomAccessFile raf; private MappedByteBuffer mbb; diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/cyclelog/outputs/ReorderingConcurrentResultBuffer.java b/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/cyclelog/outputs/ReorderingConcurrentResultBuffer.java index 0cfc456c0..064555c05 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/cyclelog/outputs/ReorderingConcurrentResultBuffer.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/cyclelog/outputs/ReorderingConcurrentResultBuffer.java @@ -23,8 +23,8 @@ import io.nosqlbench.engine.api.activityapi.cyclelog.buffers.results.CycleResult import io.nosqlbench.engine.api.activityapi.cyclelog.buffers.results.ResultReadable; import io.nosqlbench.engine.api.activityapi.cyclelog.inputs.cyclelog.CanFilterResultValue; import io.nosqlbench.engine.api.activityapi.output.Output; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; import java.util.Collections; import java.util.LinkedList; @@ -36,10 +36,10 @@ import java.util.function.Predicate; */ public class ReorderingConcurrentResultBuffer implements Output, CanFilterResultValue { - private final static Logger logger = LoggerFactory.getLogger(ReorderingConcurrentResultBuffer.class); + private final static Logger logger = LogManager.getLogger(ReorderingConcurrentResultBuffer.class); - private LinkedList segments = new LinkedList<>(); - private Output downstream; + private final LinkedList segments = new LinkedList<>(); + private final Output downstream; private final int threshold; private int currentCount; private int segmentCount; diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/cyclelog/outputs/cyclelog/CycleLogOutput.java b/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/cyclelog/outputs/cyclelog/CycleLogOutput.java index 2f88d00e8..c39b2e884 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/cyclelog/outputs/cyclelog/CycleLogOutput.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/cyclelog/outputs/cyclelog/CycleLogOutput.java @@ -26,8 +26,8 @@ import io.nosqlbench.engine.api.activityapi.cyclelog.buffers.results_rle.CycleSp import io.nosqlbench.engine.api.activityapi.cyclelog.inputs.cyclelog.CanFilterResultValue; import io.nosqlbench.engine.api.activityapi.output.Output; import io.nosqlbench.engine.api.util.SimpleConfig; -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.RandomAccessFile; @@ -51,13 +51,13 @@ import java.util.function.Predicate; public class CycleLogOutput implements Output, CanFilterResultValue { // For use in allocating file data, etc - private final static Logger logger = LoggerFactory.getLogger(CycleLogOutput.class); + private final static Logger logger = LogManager.getLogger(CycleLogOutput.class); private MappedByteBuffer mbb; private RandomAccessFile file; // private FileBufferConfig config; private CycleResultsRLEBufferTarget targetBuffer; - private int extentSizeInSpans; - private File outputFile; + private final int extentSizeInSpans; + private final File outputFile; private Predicate filter; public CycleLogOutput(Activity activity) { diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/cyclelog/outputs/cyclelog/CycleLogOutputType.java b/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/cyclelog/outputs/cyclelog/CycleLogOutputType.java index edec07937..c71fcdbe6 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/cyclelog/outputs/cyclelog/CycleLogOutputType.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/cyclelog/outputs/cyclelog/CycleLogOutputType.java @@ -24,8 +24,8 @@ import io.nosqlbench.engine.api.activityapi.output.Output; import io.nosqlbench.engine.api.activityapi.output.OutputDispenser; import io.nosqlbench.engine.api.activityapi.output.OutputType; import io.nosqlbench.nb.annotations.Service; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; @Service(OutputType.class) public class CycleLogOutputType implements OutputType { @@ -41,10 +41,10 @@ public class CycleLogOutputType implements OutputType { } public static class Dispenser implements OutputDispenser { - private final static Logger logger = LoggerFactory.getLogger(OutputDispenser.class); + private final static Logger logger = LogManager.getLogger(OutputDispenser.class); private final Output output; - private Activity activity; + private final Activity activity; public Dispenser(Activity activity) { this.activity = activity; diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/cyclelog/outputs/logger/LoggingMarkerDispenser.java b/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/cyclelog/outputs/logger/LoggingMarkerDispenser.java index b88c081b1..9846bf278 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/cyclelog/outputs/logger/LoggingMarkerDispenser.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/cyclelog/outputs/logger/LoggingMarkerDispenser.java @@ -21,14 +21,14 @@ import io.nosqlbench.engine.api.activityapi.core.Activity; import io.nosqlbench.engine.api.activityapi.output.Output; import io.nosqlbench.engine.api.activityapi.output.OutputDispenser; import io.nosqlbench.nb.annotations.Service; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; @Service(OutputDispenser.class) public class LoggingMarkerDispenser implements OutputDispenser { - private final static Logger logger = LoggerFactory.getLogger(LoggingMarkerDispenser.class); - private Activity activity; + private final static Logger logger = LogManager.getLogger(LoggingMarkerDispenser.class); + private final Activity activity; public LoggingMarkerDispenser(Activity activity) { this.activity = activity; diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/cyclelog/outputs/logger/LoggingOutput.java b/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/cyclelog/outputs/logger/LoggingOutput.java index 892c31d07..499c68747 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/cyclelog/outputs/logger/LoggingOutput.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/cyclelog/outputs/logger/LoggingOutput.java @@ -21,13 +21,13 @@ import io.nosqlbench.engine.api.activityapi.cyclelog.buffers.results.ResultReada import io.nosqlbench.engine.api.activityapi.cyclelog.inputs.cyclelog.CanFilterResultValue; import io.nosqlbench.engine.api.activityapi.output.Output; import io.nosqlbench.engine.api.activityimpl.ActivityDef; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; import java.util.function.Predicate; public class LoggingOutput implements Output,CanFilterResultValue { - private final static Logger logger = LoggerFactory.getLogger(LoggingOutput.class); + private final static Logger logger = LogManager.getLogger(LoggingOutput.class); private final ActivityDef def; private final long slot; @@ -63,7 +63,7 @@ public class LoggingOutput implements Output,CanFilterResultValue { } private static class ResultReadableWrapper implements ResultReadable { - private int result; + private final int result; public ResultReadableWrapper(int result) { this.result = result; } diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/errorhandling/CycleErrorHandlers.java b/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/errorhandling/CycleErrorHandlers.java index 89ae0127c..24c8bebb7 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/errorhandling/CycleErrorHandlers.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/errorhandling/CycleErrorHandlers.java @@ -17,8 +17,8 @@ package io.nosqlbench.engine.api.activityapi.errorhandling; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; import java.util.List; @@ -27,7 +27,7 @@ import java.util.List; */ public class CycleErrorHandlers { - private final static Logger logger = LoggerFactory.getLogger(CycleErrorHandlers.class); + private final static Logger logger = LogManager.getLogger(CycleErrorHandlers.class); public static CycleErrorHandler log(R result) { return (cycle, error, errMsg) -> { diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/errorhandling/HashedErrorHandler.java b/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/errorhandling/HashedErrorHandler.java index 9e1efade8..79d335be1 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/errorhandling/HashedErrorHandler.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/errorhandling/HashedErrorHandler.java @@ -17,8 +17,8 @@ package io.nosqlbench.engine.api.activityapi.errorhandling; -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.ConcurrentHashMap; @@ -59,15 +59,15 @@ import java.util.stream.Collectors; * @param The result type that will be produced by these error handlers. */ public class HashedErrorHandler implements CycleErrorHandler { - private final static Logger logger = LoggerFactory.getLogger(HashedErrorHandler.class); + private final static Logger logger = LogManager.getLogger(HashedErrorHandler.class); private final CycleErrorHandler DEFAULT_defaultHandler = (cycle, error, errMsg) -> { throw new RuntimeException("no handler defined for type " + error.getClass() + " in cycle " + cycle + ", " + errMsg); }; private Class upperBound = Throwable.class; - private Map>> errorGroups = new ConcurrentHashMap<>(); - private Map, CycleErrorHandler> handlers = new ConcurrentHashMap<>(); - private Set> validClasses = new HashSet<>(); + private final Map>> errorGroups = new ConcurrentHashMap<>(); + private final Map, CycleErrorHandler> handlers = new ConcurrentHashMap<>(); + private final Set> validClasses = new HashSet<>(); private CycleErrorHandler defaultHandler = DEFAULT_defaultHandler; /** diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/planning/SequencePlanner.java b/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/planning/SequencePlanner.java index 21b76095d..cb38258d9 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/planning/SequencePlanner.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/planning/SequencePlanner.java @@ -17,15 +17,15 @@ package io.nosqlbench.engine.api.activityapi.planning; -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.List; import java.util.function.ToLongFunction; public class SequencePlanner { - private final static Logger logger = LoggerFactory.getLogger(SequencePlanner.class); + private final static Logger logger = LogManager.getLogger(SequencePlanner.class); private final SequencerType sequencerType; private List elements = new ArrayList<>(); private final List ratios = new ArrayList<>(); diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/ratelimits/HybridRateLimiter.java b/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/ratelimits/HybridRateLimiter.java index 5efd5c1f9..b97cf281c 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/ratelimits/HybridRateLimiter.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/ratelimits/HybridRateLimiter.java @@ -21,8 +21,8 @@ import com.codahale.metrics.Gauge; import io.nosqlbench.engine.api.activityapi.core.Startable; import io.nosqlbench.engine.api.activityimpl.ActivityDef; import io.nosqlbench.engine.api.metrics.ActivityMetrics; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; import java.util.concurrent.atomic.AtomicLong; @@ -78,7 +78,7 @@ import java.util.concurrent.atomic.AtomicLong; */ public class HybridRateLimiter implements Startable, RateLimiter { - private final static Logger logger = LoggerFactory.getLogger(HybridRateLimiter.class); + private final static Logger logger = LogManager.getLogger(HybridRateLimiter.class); private volatile TokenFiller filler; private volatile long starttime; @@ -98,7 +98,7 @@ public class HybridRateLimiter implements Startable, RateLimiter { // diagnostics // TODO Doc rate limiter scenarios, including when you want to reset the waittime, and when you don't - private AtomicLong cumulativeWaitTimeNanos = new AtomicLong(0L); + private final AtomicLong cumulativeWaitTimeNanos = new AtomicLong(0L); protected HybridRateLimiter() { } diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/ratelimits/RateLimiters.java b/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/ratelimits/RateLimiters.java index fdc8bbcb3..19ae2e494 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/ratelimits/RateLimiters.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/ratelimits/RateLimiters.java @@ -19,11 +19,11 @@ package io.nosqlbench.engine.api.activityapi.ratelimits; import com.codahale.metrics.Gauge; import io.nosqlbench.engine.api.activityimpl.ActivityDef; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; public class RateLimiters { - private final static Logger logger = LoggerFactory.getLogger(RateLimiters.class); + private final static Logger logger = LogManager.getLogger(RateLimiters.class); public static synchronized RateLimiter createOrUpdate(ActivityDef def, String label, RateLimiter extant, RateSpec spec) { diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/ratelimits/RateSpec.java b/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/ratelimits/RateSpec.java index 91fd487f9..81018543a 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/ratelimits/RateSpec.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/ratelimits/RateSpec.java @@ -19,8 +19,8 @@ package io.nosqlbench.engine.api.activityapi.ratelimits; import io.nosqlbench.engine.api.activityimpl.ParameterMap; 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; /** *

Rate Limiter Specifications

@@ -101,7 +101,7 @@ import org.slf4j.LoggerFactory; */ public class RateSpec { - private final static Logger logger = LoggerFactory.getLogger(RateSpec.class); + private final static Logger logger = LogManager.getLogger(RateSpec.class); public static final double DEFAULT_RATE_OPS_S = 1.0D; public static final double DEFAULT_BURST_RATIO = 1.1D; @@ -114,7 +114,7 @@ public class RateSpec { public double burstRatio = DEFAULT_BURST_RATIO; public Verb verb = Verb.start; - public static enum Verb { + public enum Verb { /** * Specify that a rate limiter should only be configured without affecting its running state. * If the rate limiter is already running, then the configuration should take effect immediately. @@ -223,8 +223,7 @@ public class RateSpec { RateSpec rateSpec = (RateSpec) o; if (Double.compare(rateSpec.opsPerSec, opsPerSec) != 0) return false; - if (Double.compare(rateSpec.burstRatio, burstRatio) != 0) return false; - return true; + return Double.compare(rateSpec.burstRatio, burstRatio) == 0; } @Override diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/ratelimits/TokenFiller.java b/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/ratelimits/TokenFiller.java index bc1933ed8..359996db3 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/ratelimits/TokenFiller.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/ratelimits/TokenFiller.java @@ -20,14 +20,14 @@ package io.nosqlbench.engine.api.activityapi.ratelimits; import com.codahale.metrics.Timer; import io.nosqlbench.engine.api.activityimpl.ActivityDef; import io.nosqlbench.engine.api.metrics.ActivityMetrics; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; import java.util.concurrent.TimeUnit; import java.util.concurrent.locks.LockSupport; public class TokenFiller implements Runnable { - private final static Logger logger = LoggerFactory.getLogger(TokenFiller.class); + private final static Logger logger = LogManager.getLogger(TokenFiller.class); public final static double MIN_PER_SECOND = 10D; public final static double MAX_PER_SECOND = 1000D; @@ -40,7 +40,7 @@ public class TokenFiller implements Runnable { private RateSpec rateSpec; private Thread thread; private volatile long lastRefillAt; - private Timer timer; + private final Timer timer; /** * A token filler adds tokens to a {@link TokenPool} at some rate. diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/ratelimits/TokenPool.java b/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/ratelimits/TokenPool.java index f011774b1..1a37ab2ae 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/ratelimits/TokenPool.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/ratelimits/TokenPool.java @@ -17,8 +17,8 @@ package io.nosqlbench.engine.api.activityapi.ratelimits; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; import static io.nosqlbench.engine.api.util.Colors.*; @@ -44,7 +44,7 @@ import static io.nosqlbench.engine.api.util.Colors.*; */ public class TokenPool { - private final static Logger logger = LoggerFactory.getLogger(TokenPool.class); + private final static Logger logger = LogManager.getLogger(TokenPool.class); public static final double MIN_CONCURRENT_OPS = 2; diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/sysperf/SysPerf.java b/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/sysperf/SysPerf.java index e5f64e208..7d13aaf04 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/sysperf/SysPerf.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/sysperf/SysPerf.java @@ -17,8 +17,8 @@ package io.nosqlbench.engine.api.activityapi.sysperf; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; import org.yaml.snakeyaml.Yaml; import java.io.File; @@ -31,7 +31,7 @@ import java.nio.file.attribute.FileTime; import java.util.Optional; public class SysPerf { - public final static Logger logger = LoggerFactory.getLogger(SysPerf.class); + public final static Logger logger = LogManager.getLogger(SysPerf.class); private static final Charset CHARSET = StandardCharsets.UTF_8; private static SysPerfData cachedData; diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/sysperf/SysPerfBaseliner.java b/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/sysperf/SysPerfBaseliner.java index 224c66364..0cb22adc8 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/sysperf/SysPerfBaseliner.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/activityapi/sysperf/SysPerfBaseliner.java @@ -21,8 +21,8 @@ import org.openjdk.jmh.results.RunResult; import org.openjdk.jmh.runner.Runner; import org.openjdk.jmh.runner.options.Options; import org.openjdk.jmh.runner.options.OptionsBuilder; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; import java.nio.file.Files; import java.util.ArrayList; @@ -32,7 +32,7 @@ import java.util.Map; public class SysPerfBaseliner { - private final static Logger logger = LoggerFactory.getLogger(SysPerfBaseliner.class); + private final static Logger logger = LogManager.getLogger(SysPerfBaseliner.class); public static void main(String[] args) { try { diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/activityconfig/ParsedStmt.java b/engine-api/src/main/java/io/nosqlbench/engine/api/activityconfig/ParsedStmt.java index fed3e8a09..34515067f 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/activityconfig/ParsedStmt.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/activityconfig/ParsedStmt.java @@ -20,8 +20,8 @@ package io.nosqlbench.engine.api.activityconfig; import io.nosqlbench.engine.api.activityconfig.yaml.StmtDef; import io.nosqlbench.virtdata.core.templates.BindPoint; import io.nosqlbench.virtdata.core.templates.ParsedTemplate; -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; @@ -39,7 +39,7 @@ import java.util.regex.Pattern; public class ParsedStmt { private final static Pattern stmtToken = Pattern.compile("\\?(\\w+[-_\\d\\w]*)|\\{(\\w+[-_\\d\\w.]*)}"); - private final static Logger logger = LoggerFactory.getLogger(ParsedStmt.class); + private final static Logger logger = LogManager.getLogger(ParsedStmt.class); private ParsedTemplate template; private final StmtDef stmtDef; diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/activityconfig/StatementsLoader.java b/engine-api/src/main/java/io/nosqlbench/engine/api/activityconfig/StatementsLoader.java index 54fd79cf3..2f85aa043 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/activityconfig/StatementsLoader.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/activityconfig/StatementsLoader.java @@ -22,15 +22,15 @@ import io.nosqlbench.engine.api.activityconfig.rawyaml.RawStmtsLoader; import io.nosqlbench.engine.api.activityconfig.yaml.StmtsDocList; import io.nosqlbench.engine.api.templating.StrInterpolator; import io.nosqlbench.nb.api.content.Content; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; import java.util.Map; import java.util.function.Function; public class StatementsLoader { - private final static Logger logger = LoggerFactory.getLogger(StatementsLoader.class); + private final static Logger logger = LogManager.getLogger(StatementsLoader.class); public enum Loader { original, diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/activityconfig/rawyaml/RawStmtFields.java b/engine-api/src/main/java/io/nosqlbench/engine/api/activityconfig/rawyaml/RawStmtFields.java index 5c2d148cf..556586e08 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/activityconfig/rawyaml/RawStmtFields.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/activityconfig/rawyaml/RawStmtFields.java @@ -18,15 +18,15 @@ package io.nosqlbench.engine.api.activityconfig.rawyaml; 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.util.Collections; import java.util.LinkedHashMap; import java.util.Map; public class RawStmtFields extends Tags { - private final static Logger logger = LoggerFactory.getLogger(RawStmtFields.class); + private final static Logger logger = LogManager.getLogger(RawStmtFields.class); private String name = ""; private String desc = ""; diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/activityconfig/rawyaml/RawStmtsLoader.java b/engine-api/src/main/java/io/nosqlbench/engine/api/activityconfig/rawyaml/RawStmtsLoader.java index 2f11e5f95..87333535e 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/activityconfig/rawyaml/RawStmtsLoader.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/activityconfig/rawyaml/RawStmtsLoader.java @@ -4,7 +4,7 @@ import io.nosqlbench.engine.api.activityimpl.ActivityInitializationError; import io.nosqlbench.nb.api.content.Content; import io.nosqlbench.nb.api.content.NBIO; import io.nosqlbench.nb.api.errors.BasicError; -import org.slf4j.Logger; +import org.apache.logging.log4j.Logger; import org.yaml.snakeyaml.Yaml; import java.util.*; diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/ActivityDef.java b/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/ActivityDef.java index d7b23bb04..ddcb689ea 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/ActivityDef.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/ActivityDef.java @@ -19,8 +19,8 @@ package io.nosqlbench.engine.api.activityimpl; 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.security.InvalidParameterException; import java.util.Optional; @@ -43,7 +43,7 @@ public class ActivityDef { public static final String DEFAULT_ATYPE = "stdout "; public static final String DEFAULT_CYCLES = "0"; public static final int DEFAULT_THREADS = 1; - private final static Logger logger = LoggerFactory.getLogger(ActivityDef.class); + private final static Logger logger = LogManager.getLogger(ActivityDef.class); // an alias with which to control the activity while it is running private static final String FIELD_ALIAS = "alias"; // a file or URL containing the activity: statements, generator bindings, ... @@ -52,11 +52,11 @@ public class ActivityDef { private static final String FIELD_CYCLES = "cycles"; // initial thread concurrency for this activity private static final String FIELD_THREADS = "threads"; - private static String[] field_list = new String[]{ + private static final String[] field_list = new String[]{ FIELD_ALIAS, FIELD_ATYPE, FIELD_CYCLES, FIELD_THREADS }; // parameter map has its own internal atomic map - private ParameterMap parameterMap; + private final ParameterMap parameterMap; public ActivityDef(ParameterMap parameterMap) { this.parameterMap = parameterMap; diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/CpuInfo.java b/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/CpuInfo.java index 84b293d3c..56d085753 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/CpuInfo.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/CpuInfo.java @@ -17,8 +17,8 @@ package io.nosqlbench.engine.api.activityimpl; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; import oshi.SystemInfo; import oshi.hardware.CentralProcessor; import oshi.hardware.HardwareAbstractionLayer; @@ -27,7 +27,7 @@ import java.util.DoubleSummaryStatistics; import java.util.Optional; public class CpuInfo { - private final static Logger logger = LoggerFactory.getLogger(CpuInfo.class); + private final static Logger logger = LogManager.getLogger(CpuInfo.class); final private static SystemInfo SYSTEM_INFO = new SystemInfo(); diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/ParameterMap.java b/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/ParameterMap.java index 8a542f7f7..d3b000e13 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/ParameterMap.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/ParameterMap.java @@ -15,13 +15,13 @@ package io.nosqlbench.engine.api.activityimpl; -import io.nosqlbench.engine.api.activityimpl.motor.ParamsParser; +import io.nosqlbench.nb.api.config.ParamsParser; import io.nosqlbench.engine.api.util.Unit; 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 javax.script.Bindings; import java.util.*; @@ -42,7 +42,7 @@ import java.util.stream.Collectors; * generic type is parameterized for Bindings support.

*/ public class ParameterMap extends ConcurrentHashMap implements Bindings, ProxyObject { - private final static Logger logger = LoggerFactory.getLogger(ParameterMap.class); + private final static Logger logger = LogManager.getLogger(ParameterMap.class); // private final ConcurrentHashMap paramMap = new ConcurrentHashMap<>(10); diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/SimpleActivity.java b/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/SimpleActivity.java index 9eed87e0e..884a7f569 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/SimpleActivity.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/SimpleActivity.java @@ -20,8 +20,8 @@ import io.nosqlbench.engine.api.metrics.ActivityMetrics; import io.nosqlbench.engine.api.templating.CommandTemplate; import io.nosqlbench.engine.api.templating.StrInterpolator; 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.InputStream; import java.io.PrintWriter; @@ -35,7 +35,7 @@ import java.util.function.Supplier; * A default implementation of an Activity, suitable for building upon. */ public class SimpleActivity implements Activity, ProgressCapable { - private final static Logger logger = LoggerFactory.getLogger("ACTIVITY"); + private final static Logger logger = LogManager.getLogger("ACTIVITY"); protected ActivityDef activityDef; private final List closeables = new ArrayList<>(); diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/SlotStateTracker.java b/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/SlotStateTracker.java index 81fc08958..9c156411a 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/SlotStateTracker.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/SlotStateTracker.java @@ -18,8 +18,8 @@ package io.nosqlbench.engine.api.activityimpl; import io.nosqlbench.engine.api.activityapi.core.RunState; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; import java.util.concurrent.atomic.AtomicReference; @@ -29,7 +29,7 @@ import java.util.concurrent.atomic.AtomicReference; */ public class SlotStateTracker { private final AtomicReference slotState = new AtomicReference<>(RunState.Uninitialized); - private final static Logger logger = LoggerFactory.getLogger(SlotStateTracker.class); + private final static Logger logger = LogManager.getLogger(SlotStateTracker.class); private final long slotId; public SlotStateTracker(long slotId) { diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/action/CoreAction.java b/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/action/CoreAction.java index eea69ceaa..a71dd0037 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/action/CoreAction.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/action/CoreAction.java @@ -19,11 +19,11 @@ package io.nosqlbench.engine.api.activityimpl.action; import io.nosqlbench.engine.api.activityapi.core.SyncAction; import io.nosqlbench.engine.api.activityimpl.ActivityDef; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; public class CoreAction implements SyncAction { - private final static Logger logger = LoggerFactory.getLogger(CoreAction.class); + private final static Logger logger = LogManager.getLogger(CoreAction.class); private final int interval; private final int slot; diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/action/CoreActionDispenser.java b/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/action/CoreActionDispenser.java index 618f6b036..2286edfda 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/action/CoreActionDispenser.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/action/CoreActionDispenser.java @@ -19,17 +19,17 @@ package io.nosqlbench.engine.api.activityimpl.action; import io.nosqlbench.engine.api.activityapi.core.Action; import io.nosqlbench.engine.api.activityapi.core.ActionDispenser; import io.nosqlbench.engine.api.activityapi.core.Activity; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; /** * An action dispenser that returns a logging action. */ public class CoreActionDispenser implements ActionDispenser { - private final static Logger logger = LoggerFactory.getLogger(CoreActionDispenser.class); + private final static Logger logger = LogManager.getLogger(CoreActionDispenser.class); - private Activity activity; + private final Activity activity; public CoreActionDispenser(Activity activity) { this.activity = activity; diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/input/AtomicInput.java b/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/input/AtomicInput.java index 5385d72c9..219b65641 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/input/AtomicInput.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/input/AtomicInput.java @@ -22,8 +22,8 @@ import io.nosqlbench.engine.api.activityapi.cyclelog.buffers.results.CycleSegmen import io.nosqlbench.engine.api.activityapi.input.Input; import io.nosqlbench.engine.api.activityimpl.ActivityDef; 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.security.InvalidParameterException; import java.util.concurrent.atomic.AtomicLong; @@ -43,7 +43,7 @@ import java.util.concurrent.atomic.AtomicLong; * caller to check the value to determine when the input is deemed "used up."

*/ public class AtomicInput implements Input, ActivityDefObserver, ProgressCapable { - private final static Logger logger = LoggerFactory.getLogger(AtomicInput.class); + private final static Logger logger = LogManager.getLogger(AtomicInput.class); private final AtomicLong cycleValue = new AtomicLong(0L); private final AtomicLong min = new AtomicLong(0L); diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/marker/ContiguousOutputChunker.java b/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/marker/ContiguousOutputChunker.java index fd5c95cb1..62cd7c319 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/marker/ContiguousOutputChunker.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/marker/ContiguousOutputChunker.java @@ -22,8 +22,8 @@ import io.nosqlbench.engine.api.activityapi.cyclelog.buffers.results.CycleResult import io.nosqlbench.engine.api.activityapi.cyclelog.buffers.results.CycleResultsIntervalSegment; import io.nosqlbench.engine.api.activityapi.cyclelog.buffers.results.CycleResultsSegment; import io.nosqlbench.engine.api.activityapi.output.Output; -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.List; @@ -53,16 +53,16 @@ import java.util.concurrent.locks.ReentrantLock; */ public class ContiguousOutputChunker implements Output { - private final static Logger logger = LoggerFactory.getLogger(ContiguousOutputChunker.class); + private final static Logger logger = LogManager.getLogger(ContiguousOutputChunker.class); private final int extentSize; private final int maxExtents; - private List readers = new ArrayList<>(); - private AtomicLong min; - private AtomicLong nextMin; - private AtomicReference markingExtents = new AtomicReference<>(); - private ReentrantLock lock = new ReentrantLock(false); - private Condition nowMarking = lock.newCondition(); - private Semaphore mutex = new Semaphore(1, false); + private final List readers = new ArrayList<>(); + private final AtomicLong min; + private final AtomicLong nextMin; + private final AtomicReference markingExtents = new AtomicReference<>(); + private final ReentrantLock lock = new ReentrantLock(false); + private final Condition nowMarking = lock.newCondition(); + private final Semaphore mutex = new Semaphore(1, false); public ContiguousOutputChunker(long min, long nextRangeMin, int extentSize, int maxExtents) { this.min = new AtomicLong(min); diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/motor/CoreMotor.java b/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/motor/CoreMotor.java index 27c125faf..73a87d186 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/motor/CoreMotor.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/motor/CoreMotor.java @@ -31,8 +31,8 @@ import io.nosqlbench.engine.api.activityapi.output.Output; import io.nosqlbench.engine.api.activityapi.ratelimits.RateLimiter; import io.nosqlbench.engine.api.activityimpl.ActivityDef; import io.nosqlbench.engine.api.activityimpl.SlotStateTracker; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicReference; @@ -52,9 +52,9 @@ import static io.nosqlbench.engine.api.activityapi.core.RunState.*; */ public class CoreMotor implements ActivityDefObserver, Motor, Stoppable { - private static final Logger logger = LoggerFactory.getLogger(CoreMotor.class); + private static final Logger logger = LogManager.getLogger(CoreMotor.class); - private long slotId; + private final long slotId; private Timer inputTimer; @@ -71,11 +71,11 @@ public class CoreMotor implements ActivityDefObserver, Motor, Stoppable { private Input input; private Action action; - private Activity activity; + private final Activity activity; private Output output; - private SlotStateTracker slotStateTracker; - private AtomicReference slotState; + private final SlotStateTracker slotStateTracker; + private final AtomicReference slotState; private int stride = 1; private OpTracker opTracker; @@ -237,7 +237,7 @@ public class CoreMotor implements ActivityDefObserver, Motor, Stoppable { @SuppressWarnings("unchecked") - AsyncAction async = AsyncAction.class.cast(action); + AsyncAction async = (AsyncAction) action; opTracker = new OpTrackerImpl<>(activity, slotId); opTracker.setCycleOpFunction(async.getOpInitFunction()); diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/motor/StrideTracker.java b/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/motor/StrideTracker.java index 2b3db2465..f17264c16 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/motor/StrideTracker.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/motor/StrideTracker.java @@ -24,15 +24,15 @@ import io.nosqlbench.engine.api.activityapi.cyclelog.buffers.op_output.StrideOut import io.nosqlbench.engine.api.activityapi.cyclelog.buffers.results.CycleResult; import io.nosqlbench.engine.api.activityapi.cyclelog.buffers.results.CycleResultsSegment; import io.nosqlbench.engine.api.activityapi.output.Output; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; import java.util.Iterator; import java.util.List; import java.util.concurrent.TimeUnit; public class StrideTracker extends Buffer> implements OpEvents, CycleResultsSegment { - private final static Logger logger = LoggerFactory.getLogger(StrideTracker.class); + private final static Logger logger = LogManager.getLogger(StrideTracker.class); private final Timer strideServiceTimer; private final Timer strideResponseTimer; diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/extensions/ScriptingPluginInfo.java b/engine-api/src/main/java/io/nosqlbench/engine/api/extensions/ScriptingPluginInfo.java index 4fd983bb7..42efd950a 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/extensions/ScriptingPluginInfo.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/extensions/ScriptingPluginInfo.java @@ -18,7 +18,7 @@ package io.nosqlbench.engine.api.extensions; import com.codahale.metrics.MetricRegistry; -import org.slf4j.Logger; +import org.apache.logging.log4j.Logger; import javax.script.ScriptContext; diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/metrics/ActivityMetrics.java b/engine-api/src/main/java/io/nosqlbench/engine/api/metrics/ActivityMetrics.java index a6d3f55f8..2ebf5e9c3 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/metrics/ActivityMetrics.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/metrics/ActivityMetrics.java @@ -21,8 +21,8 @@ import com.codahale.metrics.*; import io.nosqlbench.engine.api.activityapi.core.MetricRegistryService; import io.nosqlbench.engine.api.activityimpl.ActivityDef; 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 javax.script.ScriptContext; import java.io.File; @@ -35,7 +35,7 @@ import java.util.regex.Pattern; public class ActivityMetrics { - private final static Logger logger = LoggerFactory.getLogger(ActivityMetrics.class); + private final static Logger logger = LogManager.getLogger(ActivityMetrics.class); public static final String HDRDIGITS_PARAM = "hdr_digits"; public static final int DEFAULT_HDRDIGITS= 4; @@ -46,7 +46,7 @@ public class ActivityMetrics { public static MetricFilter METRIC_FILTER = (name, metric) -> { return true; }; - private static List metricsCloseables = new ArrayList<>(); + private static final List metricsCloseables = new ArrayList<>(); public static int getHdrDigits() { @@ -305,7 +305,7 @@ public class ActivityMetrics { } } - private static interface MetricProvider { + private interface MetricProvider { Metric getMetric(); } diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/metrics/ClassicHistoListener.java b/engine-api/src/main/java/io/nosqlbench/engine/api/metrics/ClassicHistoListener.java index 1c5d0a0ec..35b24f290 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/metrics/ClassicHistoListener.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/metrics/ClassicHistoListener.java @@ -1,8 +1,8 @@ package io.nosqlbench.engine.api.metrics; import com.codahale.metrics.*; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; import java.util.HashMap; import java.util.Map; @@ -10,15 +10,15 @@ import java.util.concurrent.TimeUnit; import java.util.regex.Pattern; public class ClassicHistoListener extends CapabilityHook { - private final static Logger logger = LoggerFactory.getLogger(ClassicHistoListener.class); + private final static Logger logger = LogManager.getLogger(ClassicHistoListener.class); private final MetricRegistry metricsRegistry; - private String sessionName; - private String prefix; - private Pattern pattern; - private String interval; - private TimeUnit nanoseconds; - private Map histos = new HashMap<>(); + private final String sessionName; + private final String prefix; + private final Pattern pattern; + private final String interval; + private final TimeUnit nanoseconds; + private final Map histos = new HashMap<>(); public ClassicHistoListener(MetricRegistry metricRegistry, String sessionName, String prefix, Pattern pattern, String interval, TimeUnit nanoseconds) { this.metricsRegistry = metricRegistry; diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/metrics/ClassicTimerListener.java b/engine-api/src/main/java/io/nosqlbench/engine/api/metrics/ClassicTimerListener.java index aca9b186e..e86008d27 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/metrics/ClassicTimerListener.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/metrics/ClassicTimerListener.java @@ -3,8 +3,8 @@ package io.nosqlbench.engine.api.metrics; import com.codahale.metrics.ExponentiallyDecayingReservoir; import com.codahale.metrics.MetricRegistry; import com.codahale.metrics.Timer; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; import java.util.HashMap; import java.util.Map; @@ -12,15 +12,15 @@ import java.util.concurrent.TimeUnit; import java.util.regex.Pattern; public class ClassicTimerListener extends CapabilityHook { - private final static Logger logger = LoggerFactory.getLogger(ClassicTimerListener.class); + private final static Logger logger = LogManager.getLogger(ClassicTimerListener.class); private final MetricRegistry metricsRegistry; - private String sessionName; - private String prefix; - private Pattern pattern; - private String interval; - private TimeUnit nanoseconds; - private Map histos = new HashMap<>(); + private final String sessionName; + private final String prefix; + private final Pattern pattern; + private final String interval; + private final TimeUnit nanoseconds; + private final Map histos = new HashMap<>(); public ClassicTimerListener(MetricRegistry metricRegistry, String sessionName, String prefix, Pattern pattern, String interval, TimeUnit nanoseconds) { this.metricsRegistry = metricRegistry; diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/metrics/DeltaHdrHistogramReservoir.java b/engine-api/src/main/java/io/nosqlbench/engine/api/metrics/DeltaHdrHistogramReservoir.java index 8707dc1f1..8c0f510f1 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/metrics/DeltaHdrHistogramReservoir.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/metrics/DeltaHdrHistogramReservoir.java @@ -22,8 +22,8 @@ import com.codahale.metrics.Snapshot; import org.HdrHistogram.Histogram; import org.HdrHistogram.HistogramLogWriter; import org.HdrHistogram.Recorder; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; /** * A custom wrapping of snapshotting logic on the HdrHistogram. This histogram will always report the last histogram @@ -36,14 +36,14 @@ import org.slf4j.LoggerFactory; * */ public final class DeltaHdrHistogramReservoir implements Reservoir { - private final static Logger logger = LoggerFactory.getLogger(DeltaHdrHistogramReservoir.class); + private final static Logger logger = LogManager.getLogger(DeltaHdrHistogramReservoir.class); private final Recorder recorder; private Histogram lastHistogram; private Histogram intervalHistogram; private long intervalHistogramEndTime = System.currentTimeMillis(); - private String metricName; + private final String metricName; private HistogramLogWriter writer; /** diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/metrics/HistoIntervalLogger.java b/engine-api/src/main/java/io/nosqlbench/engine/api/metrics/HistoIntervalLogger.java index a98553ca3..1ac5fe668 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/metrics/HistoIntervalLogger.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/metrics/HistoIntervalLogger.java @@ -19,8 +19,8 @@ package io.nosqlbench.engine.api.metrics; import org.HdrHistogram.EncodableHistogram; import org.HdrHistogram.HistogramLogWriter; -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.FileNotFoundException; @@ -36,22 +36,22 @@ import java.util.regex.Pattern; * logfile at the configured interval. */ public class HistoIntervalLogger extends CapabilityHook implements Runnable, MetricsCloseable { - private final static Logger logger = LoggerFactory.getLogger(HistoIntervalLogger.class); + private final static Logger logger = LogManager.getLogger(HistoIntervalLogger.class); private final String sessionName; // private final long intervalMillis; - private long intervalLength; + private final long intervalLength; public File getLogfile() { return logfile; } - private File logfile; + private final File logfile; private PrintStream logStream; private HistogramLogWriter writer; - private Pattern pattern; + private final Pattern pattern; - private List targets = new CopyOnWriteArrayList<>(); + private final List targets = new CopyOnWriteArrayList<>(); private PeriodicRunnable executor; private long lastRunTime; diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/metrics/HistoLogChartGenerator.java b/engine-api/src/main/java/io/nosqlbench/engine/api/metrics/HistoLogChartGenerator.java index 826c9b751..fb96ea7cb 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/metrics/HistoLogChartGenerator.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/metrics/HistoLogChartGenerator.java @@ -10,8 +10,8 @@ package io.nosqlbench.engine.api.metrics; import com.mitchtalmadge.asciidata.graph.ASCIIGraph; import org.HdrHistogram.HistogramLogReader; import org.HdrHistogram.Histogram; -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.FileNotFoundException; @@ -29,8 +29,8 @@ public class HistoLogChartGenerator { public static final String ANSI_CYAN = "\u001B[36m"; public static final String ANSI_WHITE = "\u001B[37m"; - private static Map> histogramsOverTime = new HashMap<>(); - private static Logger logger = LoggerFactory.getLogger(HistoLogChartGenerator.class); + private static final Map> histogramsOverTime = new HashMap<>(); + private static final Logger logger = LogManager.getLogger(HistoLogChartGenerator.class); public static void generateChartFromHistoLog(HistoIntervalLogger histoIntervalLogger) { File logFile = histoIntervalLogger.getLogfile(); diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/metrics/HistoStatsCSVWriter.java b/engine-api/src/main/java/io/nosqlbench/engine/api/metrics/HistoStatsCSVWriter.java index f1d34ab8e..693c1c754 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/metrics/HistoStatsCSVWriter.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/metrics/HistoStatsCSVWriter.java @@ -18,8 +18,8 @@ package io.nosqlbench.engine.api.metrics; import org.HdrHistogram.Histogram; -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.util.Date; @@ -27,7 +27,7 @@ import java.util.Locale; import java.util.concurrent.TimeUnit; public class HistoStatsCSVWriter { - private final static Logger logger = LoggerFactory.getLogger(HistoStatsCSVWriter.class); + private final static Logger logger = LogManager.getLogger(HistoStatsCSVWriter.class); private final static String logFormatVersion = "1.0"; private final File csvfile; // FileWriter writer; diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/metrics/HistoStatsLogger.java b/engine-api/src/main/java/io/nosqlbench/engine/api/metrics/HistoStatsLogger.java index 860953671..e323b864b 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/metrics/HistoStatsLogger.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/metrics/HistoStatsLogger.java @@ -19,8 +19,8 @@ package io.nosqlbench.engine.api.metrics; import org.HdrHistogram.EncodableHistogram; import org.HdrHistogram.Histogram; -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.util.List; @@ -36,17 +36,17 @@ import java.util.regex.Pattern; */ public class HistoStatsLogger extends CapabilityHook implements Runnable, MetricsCloseable { - private final static Logger logger = LoggerFactory.getLogger(HistoStatsLogger.class); + private final static Logger logger = LogManager.getLogger(HistoStatsLogger.class); private final String sessionName; private final TimeUnit timeUnit; // private final long intervalMillis; - private long intervalLength; - private File logfile; + private final long intervalLength; + private final File logfile; private HistoStatsCSVWriter writer; - private Pattern pattern; + private final Pattern pattern; - private List targets = new CopyOnWriteArrayList<>(); + private final List targets = new CopyOnWriteArrayList<>(); private PeriodicRunnable executor; private long lastRunTime=0L; diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/metrics/PeriodicRunnable.java b/engine-api/src/main/java/io/nosqlbench/engine/api/metrics/PeriodicRunnable.java index 23ce5a1da..c7c0b0b4c 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/metrics/PeriodicRunnable.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/metrics/PeriodicRunnable.java @@ -17,17 +17,17 @@ package io.nosqlbench.engine.api.metrics; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; /** * This is a simple and light way to run a periodic task */ public class PeriodicRunnable implements Runnable, AutoCloseable { - private static Logger logger = LoggerFactory.getLogger(PeriodicRunnable.class); + private static final Logger logger = LogManager.getLogger(PeriodicRunnable.class); - private long intervalMillis; - private T action; + private final long intervalMillis; + private final T action; private Thread thread; private volatile boolean running = false; diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/scenarios/NBCLIScenarioParser.java b/engine-api/src/main/java/io/nosqlbench/engine/api/scenarios/NBCLIScenarioParser.java index b77e0b3c1..5eaf7b9dd 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/scenarios/NBCLIScenarioParser.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/scenarios/NBCLIScenarioParser.java @@ -9,8 +9,8 @@ import io.nosqlbench.nb.api.content.Content; import io.nosqlbench.nb.api.content.NBIO; import io.nosqlbench.nb.api.content.NBPathsAPI; 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.nio.file.FileSystems; @@ -28,7 +28,7 @@ public class NBCLIScenarioParser { public final static String VERBOSE_LOCKED = "==="; public final static String UNLOCKED = "="; - private final static Logger logger = LoggerFactory.getLogger(NBCLIScenarioParser.class); + private final static Logger logger = LogManager.getLogger(NBCLIScenarioParser.class); private static final String SEARCH_IN = "activities"; public static final String WORKLOAD_SCENARIO_STEP = "WORKLOAD_SCENARIO_STEP"; diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/scripting/NashornEvaluator.java b/engine-api/src/main/java/io/nosqlbench/engine/api/scripting/NashornEvaluator.java index 7622eab28..4a9572728 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/scripting/NashornEvaluator.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/scripting/NashornEvaluator.java @@ -17,8 +17,8 @@ package io.nosqlbench.engine.api.scripting; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; import javax.script.*; @@ -28,7 +28,7 @@ import javax.script.*; * @param generic parameter for return types from this evaluator */ public class NashornEvaluator implements Evaluator { - private final static Logger logger = LoggerFactory.getLogger(NashornEvaluator.class); + private final static Logger logger = LogManager.getLogger(NashornEvaluator.class); private static final ScriptEngineManager engineManager = new ScriptEngineManager(); private final ScriptEngine scriptEngine; diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/templating/CommandTemplate.java b/engine-api/src/main/java/io/nosqlbench/engine/api/templating/CommandTemplate.java index 9c335f404..d8380b0bd 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/templating/CommandTemplate.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/templating/CommandTemplate.java @@ -1,13 +1,13 @@ package io.nosqlbench.engine.api.templating; import io.nosqlbench.engine.api.activityconfig.yaml.OpTemplate; -import io.nosqlbench.engine.api.activityimpl.motor.ParamsParser; +import io.nosqlbench.nb.api.config.ParamsParser; import io.nosqlbench.virtdata.core.bindings.BindingsTemplate; import io.nosqlbench.virtdata.core.templates.ParsedTemplate; import io.nosqlbench.virtdata.core.templates.StringBindings; import io.nosqlbench.virtdata.core.templates.StringBindingsTemplate; -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.function.Function; @@ -29,7 +29,7 @@ import java.util.function.Function; */ public class CommandTemplate { - private final static Logger logger = LoggerFactory.getLogger(CommandTemplate.class); + private final static Logger logger = LogManager.getLogger(CommandTemplate.class); private final String name; private final Map statics = new HashMap<>(); diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/util/SSLKsFactory.java b/engine-api/src/main/java/io/nosqlbench/engine/api/util/SSLKsFactory.java index 7975e62f4..0beb4dcaa 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/util/SSLKsFactory.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/util/SSLKsFactory.java @@ -18,8 +18,8 @@ package io.nosqlbench.engine.api.util; import io.nosqlbench.engine.api.activityimpl.ActivityDef; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.LogManager; import javax.net.ServerSocketFactory; import javax.net.SocketFactory; @@ -40,7 +40,7 @@ import java.util.Optional; import java.util.regex.Pattern; public class SSLKsFactory { - private final static Logger logger = LoggerFactory.getLogger(SSLKsFactory.class); + private final static Logger logger = LogManager.getLogger(SSLKsFactory.class); private static final SSLKsFactory instance = new SSLKsFactory(); diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/util/SimpleServiceLoader.java b/engine-api/src/main/java/io/nosqlbench/engine/api/util/SimpleServiceLoader.java index 3b8ecafcf..b662ebc3c 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/util/SimpleServiceLoader.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/util/SimpleServiceLoader.java @@ -18,8 +18,8 @@ package io.nosqlbench.engine.api.util; import io.nosqlbench.nb.spi.Named; -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.ConcurrentHashMap; @@ -27,7 +27,7 @@ import java.util.stream.Collectors; public class SimpleServiceLoader { - private static final Logger logger = LoggerFactory.getLogger(SimpleServiceLoader.class); + private static final Logger logger = LogManager.getLogger(SimpleServiceLoader.class); private final Class serviceType; private static SimpleServiceLoader instance; diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/util/Unit.java b/engine-api/src/main/java/io/nosqlbench/engine/api/util/Unit.java index 85666b6a3..9769f08af 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/util/Unit.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/util/Unit.java @@ -17,8 +17,8 @@ package io.nosqlbench.engine.api.util; -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.Optional; @@ -27,14 +27,14 @@ import java.util.regex.Pattern; public class Unit { - private final static Logger logger = LoggerFactory.getLogger(Unit.class); + private final static Logger logger = LogManager.getLogger(Unit.class); - private static Pattern numberFmtPattern = Pattern.compile(" *(?(?[0-9]+)(?\\.[0-9]+)?(?E[0-9]+)?) *(?[^ ]+?)? *"); - 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();