From f26aa33553464d924774a8870337f7c34b92033d Mon Sep 17 00:00:00 2001 From: Andrzej Cichocki Date: Mon, 20 Nov 2017 11:31:08 +0000 Subject: [PATCH] Introduce contextLogger (#2085) * Revert with comment, probably lazy for a reason. --- .../client/jackson/StringToMethodCallParser.kt | 4 ++-- .../net/corda/client/rpc/internal/RPCClient.kt | 7 ++----- .../client/rpc/internal/RPCClientProxyHandler.kt | 7 ++----- .../corda/kotlin/rpc/StandaloneCordaRPClientTest.kt | 7 ++----- .../kotlin/net/corda/core/internal/ToggleField.kt | 8 ++++++-- .../core/internal/concurrent/CordaFutureImpl.kt | 4 ++-- .../net/corda/core/node/services/NotaryService.kt | 7 +++++-- .../kotlin/net/corda/core/utilities/KotlinUtils.kt | 11 +++++++++-- .../main/kotlin/net/corda/docs/CustomVaultQuery.kt | 7 ++----- .../corda/finance/contracts/asset/OnLedgerAsset.kt | 5 ++--- .../asset/cash/selection/AbstractCashSelection.kt | 5 +---- .../asset/cash/selection/CashSelectionH2Impl.kt | 4 ++-- .../cash/selection/CashSelectionPostgreSQLImpl.kt | 7 ++----- .../kotlin/net/corda/nodeapi/NodeInfoFilesCopier.kt | 4 ++-- .../internal/serialization/CordaClassResolver.kt | 4 ++-- .../internal/serialization/amqp/ObjectSerializer.kt | 6 ++++-- .../serialization/amqp/PropertySerializer.kt | 5 ++--- .../amqp/custom/ThrowableSerializer.kt | 4 ++-- .../corda/node/services/AttachmentLoadingTests.kt | 4 ++-- .../net/corda/node/internal/CordaRPCOpsImpl.kt | 4 ++-- .../src/main/kotlin/net/corda/node/internal/Node.kt | 8 ++++---- .../kotlin/net/corda/node/internal/NodeStartup.kt | 2 +- .../corda/node/internal/cordapp/CordappLoader.kt | 5 ++--- .../corda/node/services/api/ServiceHubInternal.kt | 4 ++-- .../corda/node/services/config/ConfigUtilities.kt | 5 ++--- .../node/services/events/NodeSchedulerService.kt | 5 ++--- .../services/identity/InMemoryIdentityService.kt | 5 ++--- .../services/identity/PersistentIdentityService.kt | 5 ++--- .../services/messaging/ArtemisMessagingServer.kt | 12 ++++-------- .../node/services/messaging/P2PMessagingClient.kt | 4 ++-- .../net/corda/node/services/messaging/RPCServer.kt | 13 +++++-------- .../corda/node/services/network/NetworkMapClient.kt | 8 ++------ .../corda/node/services/network/NodeInfoWatcher.kt | 5 ++--- .../services/network/PersistentNetworkMapCache.kt | 4 ++-- .../services/persistence/AbstractPartyDescriptor.kt | 4 ++-- .../AbstractPartyToX500NameAsStringConverter.kt | 4 ++-- .../services/persistence/HibernateConfiguration.kt | 5 ++--- .../services/persistence/NodeAttachmentService.kt | 5 ++--- .../corda/node/services/schema/HibernateObserver.kt | 4 ++-- .../statemachine/FlowStackSnapshotFactory.kt | 5 ++--- .../statemachine/StateMachineManagerImpl.kt | 7 ++----- .../transactions/BFTNonValidatingNotaryService.kt | 3 +-- .../corda/node/services/transactions/BFTSMaRt.kt | 6 +++--- .../node/services/transactions/BFTSMaRtConfig.kt | 4 ++-- .../transactions/DistributedImmutableMap.kt | 4 ++-- .../OutOfProcessTransactionVerifierService.kt | 4 ++-- .../transactions/PersistentUniquenessProvider.kt | 8 ++------ .../services/transactions/RaftUniquenessProvider.kt | 5 ++--- .../services/vault/HibernateQueryCriteriaParser.kt | 6 +++--- .../corda/node/services/vault/NodeVaultService.kt | 2 +- .../node/services/vault/VaultSoftLockManager.kt | 7 ++----- .../kotlin/net/corda/node/shell/InteractiveShell.kt | 4 ++-- .../net/corda/node/utilities/AffinityExecutor.kt | 5 ----- .../corda/node/utilities/AppendOnlyPersistentMap.kt | 4 ++-- .../net/corda/node/utilities/PersistentMap.kt | 4 ++-- .../node/utilities/ServiceIdentityGenerator.kt | 5 ++--- .../kotlin/net/corda/bank/api/BankOfCordaWebApi.kt | 4 ++-- .../kotlin/net/corda/irs/IRSDemoTest.kt | 4 ++-- .../kotlin/net/corda/test/spring/SpringDriver.kt | 4 ++-- .../net/corda/irs/web/api/InterestSwapRestAPI.kt | 7 ++++--- .../corda/irs/web/api/InterestRatesSwapDemoAPI.kt | 4 ++-- .../net/corda/vega/analytics/AnalyticsEngine.kt | 4 ++-- .../main/kotlin/net/corda/traderdemo/TraderDemo.kt | 5 ++--- .../net/corda/testing/driver/ShutdownManager.kt | 8 ++------ .../main/kotlin/net/corda/testing/node/MockNode.kt | 11 ++++++----- .../kotlin/net/corda/smoketesting/NodeProcess.kt | 4 ++-- .../main/kotlin/net/corda/testing/http/HttpUtils.kt | 4 ++-- .../kotlin/net/corda/demobench/explorer/Explorer.kt | 4 ++-- .../main/kotlin/net/corda/demobench/pty/R3Pty.kt | 4 ++-- .../main/kotlin/net/corda/demobench/rpc/NodeRPC.kt | 4 ++-- .../main/kotlin/net/corda/demobench/web/DBViewer.kt | 4 ++-- .../kotlin/net/corda/demobench/web/WebServer.kt | 4 ++-- .../kotlin/net/corda/explorer/ExplorerSimulation.kt | 2 +- .../src/main/kotlin/net/corda/explorer/Main.kt | 4 ++-- .../kotlin/net/corda/loadtest/ConnectionManager.kt | 4 ++-- .../main/kotlin/net/corda/loadtest/Disruption.kt | 3 ++- .../src/main/kotlin/net/corda/loadtest/LoadTest.kt | 4 ++-- .../kotlin/net/corda/loadtest/NodeConnection.kt | 4 ++-- .../net/corda/loadtest/tests/StabilityTest.kt | 5 ++--- .../kotlin/net/corda/verifier/VerifierDriver.kt | 4 ++-- .../src/main/kotlin/net/corda/verifier/Verifier.kt | 8 ++------ .../kotlin/net/corda/webserver/WebArgsParser.kt | 2 +- .../corda/webserver/internal/AllExceptionMapper.kt | 2 +- .../net/corda/webserver/internal/NodeWebServer.kt | 4 ++-- .../webserver/servlets/AttachmentDownloadServlet.kt | 6 ++++-- .../corda/webserver/servlets/DataUploadServlet.kt | 6 ++++-- 86 files changed, 198 insertions(+), 243 deletions(-) diff --git a/client/jackson/src/main/kotlin/net/corda/client/jackson/StringToMethodCallParser.kt b/client/jackson/src/main/kotlin/net/corda/client/jackson/StringToMethodCallParser.kt index a79d14f591..5ff3c3b08e 100644 --- a/client/jackson/src/main/kotlin/net/corda/client/jackson/StringToMethodCallParser.kt +++ b/client/jackson/src/main/kotlin/net/corda/client/jackson/StringToMethodCallParser.kt @@ -7,7 +7,7 @@ import com.google.common.collect.HashMultimap import com.google.common.collect.Multimap import net.corda.client.jackson.StringToMethodCallParser.ParsedMethodCall import net.corda.core.CordaException -import org.slf4j.LoggerFactory +import net.corda.core.utilities.contextLogger import java.lang.reflect.Constructor import java.lang.reflect.Method import java.util.concurrent.Callable @@ -90,7 +90,7 @@ open class StringToMethodCallParser @JvmOverloads constructor( return result } - private val log = LoggerFactory.getLogger(StringToMethodCallParser::class.java)!! + private val log = contextLogger() } /** The methods that can be invoked via this parser. */ diff --git a/client/rpc/src/main/kotlin/net/corda/client/rpc/internal/RPCClient.kt b/client/rpc/src/main/kotlin/net/corda/client/rpc/internal/RPCClient.kt index 12fcb8bcd7..f7318b34b3 100644 --- a/client/rpc/src/main/kotlin/net/corda/client/rpc/internal/RPCClient.kt +++ b/client/rpc/src/main/kotlin/net/corda/client/rpc/internal/RPCClient.kt @@ -11,10 +11,7 @@ import net.corda.core.messaging.RPCOps import net.corda.core.serialization.SerializationContext import net.corda.core.serialization.SerializationDefaults import net.corda.core.serialization.internal.nodeSerializationEnv -import net.corda.core.utilities.NetworkHostAndPort -import net.corda.core.utilities.loggerFor -import net.corda.core.utilities.minutes -import net.corda.core.utilities.seconds +import net.corda.core.utilities.* import net.corda.nodeapi.ArtemisTcpTransport.Companion.tcpTransport import net.corda.nodeapi.ConnectionDirection import net.corda.nodeapi.RPCApi @@ -96,7 +93,7 @@ class RPCClient( ) : this(tcpTransport(ConnectionDirection.Outbound(), hostAndPort, sslConfiguration), configuration, serializationContext) companion object { - private val log = loggerFor>() + private val log = contextLogger() } fun start( diff --git a/client/rpc/src/main/kotlin/net/corda/client/rpc/internal/RPCClientProxyHandler.kt b/client/rpc/src/main/kotlin/net/corda/client/rpc/internal/RPCClientProxyHandler.kt index e3e2e07d84..a85a6342b2 100644 --- a/client/rpc/src/main/kotlin/net/corda/client/rpc/internal/RPCClientProxyHandler.kt +++ b/client/rpc/src/main/kotlin/net/corda/client/rpc/internal/RPCClientProxyHandler.kt @@ -22,10 +22,7 @@ import net.corda.core.internal.ThreadBox import net.corda.core.messaging.RPCOps import net.corda.core.serialization.SerializationContext import net.corda.core.serialization.serialize -import net.corda.core.utilities.Try -import net.corda.core.utilities.debug -import net.corda.core.utilities.getOrThrow -import net.corda.core.utilities.loggerFor +import net.corda.core.utilities.* import net.corda.nodeapi.ArtemisConsumer import net.corda.nodeapi.ArtemisProducer import net.corda.nodeapi.RPCApi @@ -91,7 +88,7 @@ class RPCClientProxyHandler( private val lifeCycle = LifeCycle(State.UNSTARTED) private companion object { - val log = loggerFor() + private val log = contextLogger() // To check whether toString() is being invoked val toStringMethod: Method = Object::toString.javaMethod!! diff --git a/client/rpc/src/smoke-test/kotlin/net/corda/kotlin/rpc/StandaloneCordaRPClientTest.kt b/client/rpc/src/smoke-test/kotlin/net/corda/kotlin/rpc/StandaloneCordaRPClientTest.kt index d6d305f542..36323ec068 100644 --- a/client/rpc/src/smoke-test/kotlin/net/corda/kotlin/rpc/StandaloneCordaRPClientTest.kt +++ b/client/rpc/src/smoke-test/kotlin/net/corda/kotlin/rpc/StandaloneCordaRPClientTest.kt @@ -11,10 +11,7 @@ import net.corda.core.messaging.* import net.corda.core.node.NodeInfo import net.corda.core.node.services.Vault import net.corda.core.node.services.vault.* -import net.corda.core.utilities.OpaqueBytes -import net.corda.core.utilities.getOrThrow -import net.corda.core.utilities.loggerFor -import net.corda.core.utilities.seconds +import net.corda.core.utilities.* import net.corda.finance.DOLLARS import net.corda.finance.POUNDS import net.corda.finance.SWISS_FRANCS @@ -45,7 +42,7 @@ import kotlin.test.assertTrue class StandaloneCordaRPClientTest { private companion object { - val log = loggerFor() + private val log = contextLogger() val user = User("user1", "test", permissions = setOf("ALL")) val port = AtomicInteger(15200) const val attachmentSize = 2116 diff --git a/core/src/main/kotlin/net/corda/core/internal/ToggleField.kt b/core/src/main/kotlin/net/corda/core/internal/ToggleField.kt index 36ae18d05c..032d0d8802 100644 --- a/core/src/main/kotlin/net/corda/core/internal/ToggleField.kt +++ b/core/src/main/kotlin/net/corda/core/internal/ToggleField.kt @@ -1,6 +1,6 @@ package net.corda.core.internal -import net.corda.core.utilities.loggerFor +import net.corda.core.utilities.contextLogger import org.slf4j.Logger import java.util.concurrent.atomic.AtomicReference import kotlin.reflect.KProperty @@ -47,8 +47,12 @@ class ThreadLeakException : RuntimeException("Leaked thread detected: ${Thread.c /** @param isAGlobalThreadBeingCreated whether a global thread (that should not inherit any value) is being created. */ class InheritableThreadLocalToggleField(name: String, - private val log: Logger = loggerFor>(), + private val log: Logger = staticLog, private val isAGlobalThreadBeingCreated: (Array) -> Boolean) : ToggleField(name) { + companion object { + private val staticLog = contextLogger() + } + private inner class Holder(value: T) : AtomicReference(value) { fun valueOrDeclareLeak() = get() ?: throw ThreadLeakException() fun childValue(): Holder? { diff --git a/core/src/main/kotlin/net/corda/core/internal/concurrent/CordaFutureImpl.kt b/core/src/main/kotlin/net/corda/core/internal/concurrent/CordaFutureImpl.kt index a97eff4c56..6ff8ce4f2c 100644 --- a/core/src/main/kotlin/net/corda/core/internal/concurrent/CordaFutureImpl.kt +++ b/core/src/main/kotlin/net/corda/core/internal/concurrent/CordaFutureImpl.kt @@ -3,8 +3,8 @@ package net.corda.core.internal.concurrent import net.corda.core.internal.VisibleForTesting import net.corda.core.concurrent.CordaFuture import net.corda.core.concurrent.match +import net.corda.core.utilities.contextLogger import net.corda.core.utilities.getOrThrow -import net.corda.core.utilities.loggerFor import org.slf4j.Logger import java.time.Duration import java.util.concurrent.CompletableFuture @@ -118,7 +118,7 @@ interface OpenFuture : ValueOrException, CordaFuture @VisibleForTesting internal class CordaFutureImpl(private val impl: CompletableFuture = CompletableFuture()) : Future by impl, OpenFuture { companion object { - private val defaultLog = loggerFor>() + private val defaultLog = contextLogger() internal val listenerFailedMessage = "Future listener failed:" } diff --git a/core/src/main/kotlin/net/corda/core/node/services/NotaryService.kt b/core/src/main/kotlin/net/corda/core/node/services/NotaryService.kt index 8241fcd13c..46227d0027 100644 --- a/core/src/main/kotlin/net/corda/core/node/services/NotaryService.kt +++ b/core/src/main/kotlin/net/corda/core/node/services/NotaryService.kt @@ -9,7 +9,7 @@ import net.corda.core.identity.Party import net.corda.core.node.ServiceHub import net.corda.core.serialization.SingletonSerializeAsToken import net.corda.core.serialization.serialize -import net.corda.core.utilities.loggerFor +import net.corda.core.utilities.contextLogger import org.slf4j.Logger import java.security.PublicKey @@ -45,8 +45,11 @@ abstract class NotaryService : SingletonSerializeAsToken() { * of the cluster is sufficient for transaction notarisation. For example, a single-node or a Raft notary. */ abstract class TrustedAuthorityNotaryService : NotaryService() { - protected open val log: Logger = loggerFor() + companion object { + private val staticLog = contextLogger() + } + protected open val log: Logger get() = staticLog // TODO: specify the valid time window in config, and convert TimeWindowChecker to a utility method protected abstract val timeWindowChecker: TimeWindowChecker protected abstract val uniquenessProvider: UniquenessProvider diff --git a/core/src/main/kotlin/net/corda/core/utilities/KotlinUtils.kt b/core/src/main/kotlin/net/corda/core/utilities/KotlinUtils.kt index dd76afb644..ce0370319c 100644 --- a/core/src/main/kotlin/net/corda/core/utilities/KotlinUtils.kt +++ b/core/src/main/kotlin/net/corda/core/utilities/KotlinUtils.kt @@ -24,12 +24,19 @@ infix fun Int.exactAdd(b: Int): Int = Math.addExact(this, b) infix fun Long.exactAdd(b: Long): Long = Math.addExact(this, b) /** - * Get the [Logger] for a class using the syntax + * Usually you won't need this method: + * * If you're in a companion object, use [contextLogger] + * * If you're in an object singleton, use [LoggerFactory.getLogger] directly on javaClass * - * `val logger = loggerFor()` + * Otherwise, this gets the [Logger] for a class using the syntax + * + * `private val log = loggerFor()` */ inline fun loggerFor(): Logger = LoggerFactory.getLogger(T::class.java) +/** When called from a companion object, returns the logger for the enclosing class. */ +fun Any.contextLogger(): Logger = LoggerFactory.getLogger(javaClass.enclosingClass) + /** Log a TRACE level message produced by evaluating the given lamdba, but only if TRACE logging is enabled. */ inline fun Logger.trace(msg: () -> String) { if (isTraceEnabled) trace(msg()) diff --git a/docs/source/example-code/src/main/kotlin/net/corda/docs/CustomVaultQuery.kt b/docs/source/example-code/src/main/kotlin/net/corda/docs/CustomVaultQuery.kt index 1ae88a6015..506dc8bc02 100644 --- a/docs/source/example-code/src/main/kotlin/net/corda/docs/CustomVaultQuery.kt +++ b/docs/source/example-code/src/main/kotlin/net/corda/docs/CustomVaultQuery.kt @@ -9,10 +9,7 @@ import net.corda.core.node.services.CordaService import net.corda.core.serialization.CordaSerializable import net.corda.core.serialization.SingletonSerializeAsToken import net.corda.core.transactions.SignedTransaction -import net.corda.core.utilities.OpaqueBytes -import net.corda.core.utilities.ProgressTracker -import net.corda.core.utilities.loggerFor -import net.corda.core.utilities.unwrap +import net.corda.core.utilities.* import net.corda.finance.flows.AbstractCashFlow import net.corda.finance.flows.CashException import net.corda.finance.flows.CashIssueFlow @@ -25,7 +22,7 @@ object CustomVaultQuery { @CordaService class Service(val services: AppServiceHub) : SingletonSerializeAsToken() { private companion object { - val log = loggerFor() + private val log = contextLogger() } fun rebalanceCurrencyReserves(): List> { val nativeQuery = """ diff --git a/finance/src/main/kotlin/net/corda/finance/contracts/asset/OnLedgerAsset.kt b/finance/src/main/kotlin/net/corda/finance/contracts/asset/OnLedgerAsset.kt index d64bb817b2..eb0078d8ad 100644 --- a/finance/src/main/kotlin/net/corda/finance/contracts/asset/OnLedgerAsset.kt +++ b/finance/src/main/kotlin/net/corda/finance/contracts/asset/OnLedgerAsset.kt @@ -4,7 +4,7 @@ import net.corda.core.contracts.* import net.corda.core.contracts.Amount.Companion.sumOrThrow import net.corda.core.identity.AbstractParty import net.corda.core.transactions.TransactionBuilder -import net.corda.core.utilities.loggerFor +import net.corda.core.utilities.contextLogger import net.corda.core.utilities.trace import java.security.PublicKey import java.util.* @@ -32,8 +32,7 @@ data class PartyAndAmount(val party: AbstractParty, val amount: Amount< */ abstract class OnLedgerAsset> : Contract { companion object { - val log = loggerFor>() - + private val log = contextLogger() /** * Generate a transaction that moves an amount of currency to the given pubkey. * diff --git a/finance/src/main/kotlin/net/corda/finance/contracts/asset/cash/selection/AbstractCashSelection.kt b/finance/src/main/kotlin/net/corda/finance/contracts/asset/cash/selection/AbstractCashSelection.kt index 34dfb3b3ea..b5d2113f8d 100644 --- a/finance/src/main/kotlin/net/corda/finance/contracts/asset/cash/selection/AbstractCashSelection.kt +++ b/finance/src/main/kotlin/net/corda/finance/contracts/asset/cash/selection/AbstractCashSelection.kt @@ -4,15 +4,12 @@ import co.paralleluniverse.fibers.Suspendable import net.corda.core.contracts.Amount import net.corda.core.contracts.StateAndRef import net.corda.core.contracts.StateRef -import net.corda.core.contracts.TransactionState import net.corda.core.crypto.SecureHash import net.corda.core.flows.FlowLogic import net.corda.core.identity.AbstractParty import net.corda.core.identity.Party import net.corda.core.node.ServiceHub import net.corda.core.node.services.StatesNotAvailableException -import net.corda.core.serialization.SerializationDefaults -import net.corda.core.serialization.deserialize import net.corda.core.utilities.* import net.corda.finance.contracts.asset.Cash import java.sql.* @@ -44,7 +41,7 @@ abstract class AbstractCashSelection { }.invoke() } - val log = loggerFor() + private val log = contextLogger() } // coin selection retry loop counter, sleep (msecs) and lock for selecting states diff --git a/finance/src/main/kotlin/net/corda/finance/contracts/asset/cash/selection/CashSelectionH2Impl.kt b/finance/src/main/kotlin/net/corda/finance/contracts/asset/cash/selection/CashSelectionH2Impl.kt index 08fa686c07..440047f19d 100644 --- a/finance/src/main/kotlin/net/corda/finance/contracts/asset/cash/selection/CashSelectionH2Impl.kt +++ b/finance/src/main/kotlin/net/corda/finance/contracts/asset/cash/selection/CashSelectionH2Impl.kt @@ -5,8 +5,8 @@ import net.corda.core.crypto.toStringShort import net.corda.core.identity.AbstractParty import net.corda.core.identity.Party import net.corda.core.utilities.OpaqueBytes +import net.corda.core.utilities.contextLogger import net.corda.core.utilities.debug -import net.corda.core.utilities.loggerFor import java.sql.Connection import java.sql.DatabaseMetaData import java.sql.ResultSet @@ -15,7 +15,7 @@ import java.util.* class CashSelectionH2Impl : AbstractCashSelection() { companion object { const val JDBC_DRIVER_NAME = "H2 JDBC Driver" - val log = loggerFor() + private val log = contextLogger() } override fun isCompatible(metadata: DatabaseMetaData): Boolean { diff --git a/finance/src/main/kotlin/net/corda/finance/contracts/asset/cash/selection/CashSelectionPostgreSQLImpl.kt b/finance/src/main/kotlin/net/corda/finance/contracts/asset/cash/selection/CashSelectionPostgreSQLImpl.kt index f6fdac5738..f96ef6f441 100644 --- a/finance/src/main/kotlin/net/corda/finance/contracts/asset/cash/selection/CashSelectionPostgreSQLImpl.kt +++ b/finance/src/main/kotlin/net/corda/finance/contracts/asset/cash/selection/CashSelectionPostgreSQLImpl.kt @@ -3,10 +3,7 @@ package net.corda.finance.contracts.asset.cash.selection import net.corda.core.contracts.Amount import net.corda.core.identity.AbstractParty import net.corda.core.identity.Party -import net.corda.core.utilities.OpaqueBytes -import net.corda.core.utilities.debug -import net.corda.core.utilities.loggerFor -import net.corda.core.utilities.toBase58String +import net.corda.core.utilities.* import java.sql.Connection import java.sql.DatabaseMetaData import java.sql.ResultSet @@ -16,7 +13,7 @@ class CashSelectionPostgreSQLImpl : AbstractCashSelection() { companion object { val JDBC_DRIVER_NAME = "PostgreSQL JDBC Driver" - val log = loggerFor() + private val log = contextLogger() } override fun isCompatible(metadata: DatabaseMetaData): Boolean { diff --git a/node-api/src/main/kotlin/net/corda/nodeapi/NodeInfoFilesCopier.kt b/node-api/src/main/kotlin/net/corda/nodeapi/NodeInfoFilesCopier.kt index aadc49f4c3..7017e89a56 100644 --- a/node-api/src/main/kotlin/net/corda/nodeapi/NodeInfoFilesCopier.kt +++ b/node-api/src/main/kotlin/net/corda/nodeapi/NodeInfoFilesCopier.kt @@ -5,7 +5,7 @@ import net.corda.core.internal.ThreadBox import net.corda.core.internal.createDirectories import net.corda.core.internal.isRegularFile import net.corda.core.internal.list -import net.corda.core.utilities.loggerFor +import net.corda.core.utilities.contextLogger import rx.Observable import rx.Scheduler import rx.Subscription @@ -28,7 +28,7 @@ import java.util.concurrent.TimeUnit class NodeInfoFilesCopier(scheduler: Scheduler = Schedulers.io()) : AutoCloseable { companion object { - private val log = loggerFor() + private val log = contextLogger() const val NODE_INFO_FILE_NAME_PREFIX = "nodeInfo-" } diff --git a/node-api/src/main/kotlin/net/corda/nodeapi/internal/serialization/CordaClassResolver.kt b/node-api/src/main/kotlin/net/corda/nodeapi/internal/serialization/CordaClassResolver.kt index 52690a1780..d4c98fc1e1 100644 --- a/node-api/src/main/kotlin/net/corda/nodeapi/internal/serialization/CordaClassResolver.kt +++ b/node-api/src/main/kotlin/net/corda/nodeapi/internal/serialization/CordaClassResolver.kt @@ -10,7 +10,7 @@ import net.corda.nodeapi.internal.AttachmentsClassLoader import net.corda.core.serialization.ClassWhitelist import net.corda.core.serialization.CordaSerializable import net.corda.core.serialization.SerializationContext -import net.corda.core.utilities.loggerFor +import net.corda.core.utilities.contextLogger import net.corda.nodeapi.internal.serialization.amqp.hasAnnotationInHierarchy import net.corda.nodeapi.internal.serialization.kryo.ThrowableSerializer import java.io.PrintWriter @@ -187,7 +187,7 @@ class TransientClassWhiteList(delegate: ClassWhitelist) : AbstractMutableClassWh @Suppress("unused") class LoggingWhitelist(val delegate: ClassWhitelist, val global: Boolean = true) : MutableClassWhitelist { companion object { - val log = loggerFor() + private val log = contextLogger() val globallySeen: MutableSet = Collections.synchronizedSet(mutableSetOf()) val journalWriter: PrintWriter? = openOptionalDynamicWhitelistJournal() diff --git a/node-api/src/main/kotlin/net/corda/nodeapi/internal/serialization/amqp/ObjectSerializer.kt b/node-api/src/main/kotlin/net/corda/nodeapi/internal/serialization/amqp/ObjectSerializer.kt index 7dcb450803..433f8731ba 100644 --- a/node-api/src/main/kotlin/net/corda/nodeapi/internal/serialization/amqp/ObjectSerializer.kt +++ b/node-api/src/main/kotlin/net/corda/nodeapi/internal/serialization/amqp/ObjectSerializer.kt @@ -1,7 +1,7 @@ package net.corda.nodeapi.internal.serialization.amqp +import net.corda.core.utilities.contextLogger import net.corda.core.utilities.debug -import net.corda.core.utilities.loggerFor import net.corda.nodeapi.internal.serialization.amqp.SerializerFactory.Companion.nameForType import org.apache.qpid.proton.amqp.Symbol import org.apache.qpid.proton.codec.Data @@ -17,7 +17,9 @@ open class ObjectSerializer(val clazz: Type, factory: SerializerFactory) : AMQPS open val kotlinConstructor = constructorForDeserialization(clazz) val javaConstructor by lazy { kotlinConstructor?.javaConstructor } - private val logger = loggerFor() + companion object { + private val logger = contextLogger() + } open internal val propertySerializers: Collection by lazy { propertiesForSerialization(kotlinConstructor, clazz, factory) diff --git a/node-api/src/main/kotlin/net/corda/nodeapi/internal/serialization/amqp/PropertySerializer.kt b/node-api/src/main/kotlin/net/corda/nodeapi/internal/serialization/amqp/PropertySerializer.kt index 3d9fa8b0a5..59c8b983fa 100644 --- a/node-api/src/main/kotlin/net/corda/nodeapi/internal/serialization/amqp/PropertySerializer.kt +++ b/node-api/src/main/kotlin/net/corda/nodeapi/internal/serialization/amqp/PropertySerializer.kt @@ -1,6 +1,6 @@ package net.corda.nodeapi.internal.serialization.amqp -import net.corda.core.utilities.loggerFor +import net.corda.core.utilities.contextLogger import org.apache.qpid.proton.amqp.Binary import org.apache.qpid.proton.codec.Data import java.lang.reflect.Method @@ -61,8 +61,7 @@ sealed class PropertySerializer(val name: String, val readMethod: Method?, val r } companion object { - private val logger = loggerFor() - + private val logger = contextLogger() fun make(name: String, readMethod: Method?, resolvedType: Type, factory: SerializerFactory): PropertySerializer { readMethod?.isAccessible = true if (SerializerFactory.isPrimitive(resolvedType)) { diff --git a/node-api/src/main/kotlin/net/corda/nodeapi/internal/serialization/amqp/custom/ThrowableSerializer.kt b/node-api/src/main/kotlin/net/corda/nodeapi/internal/serialization/amqp/custom/ThrowableSerializer.kt index 8697cd98c7..e78cf2b3d8 100644 --- a/node-api/src/main/kotlin/net/corda/nodeapi/internal/serialization/amqp/custom/ThrowableSerializer.kt +++ b/node-api/src/main/kotlin/net/corda/nodeapi/internal/serialization/amqp/custom/ThrowableSerializer.kt @@ -3,14 +3,14 @@ package net.corda.nodeapi.internal.serialization.amqp.custom import net.corda.core.CordaRuntimeException import net.corda.core.CordaThrowable import net.corda.core.serialization.SerializationFactory -import net.corda.core.utilities.loggerFor +import net.corda.core.utilities.contextLogger import net.corda.nodeapi.internal.serialization.amqp.* import java.io.NotSerializableException class ThrowableSerializer(factory: SerializerFactory) : CustomSerializer.Proxy(Throwable::class.java, ThrowableProxy::class.java, factory) { companion object { - private val logger = loggerFor() + private val logger = contextLogger() } override val revealSubclassesInSchema: Boolean = true diff --git a/node/src/integration-test/kotlin/net/corda/node/services/AttachmentLoadingTests.kt b/node/src/integration-test/kotlin/net/corda/node/services/AttachmentLoadingTests.kt index 0b09f55804..4a2a894154 100644 --- a/node/src/integration-test/kotlin/net/corda/node/services/AttachmentLoadingTests.kt +++ b/node/src/integration-test/kotlin/net/corda/node/services/AttachmentLoadingTests.kt @@ -13,8 +13,8 @@ import net.corda.core.internal.div import net.corda.core.internal.toLedgerTransaction import net.corda.core.serialization.SerializationFactory import net.corda.core.transactions.TransactionBuilder +import net.corda.core.utilities.contextLogger import net.corda.core.utilities.getOrThrow -import net.corda.core.utilities.loggerFor import net.corda.node.internal.cordapp.CordappLoader import net.corda.node.internal.cordapp.CordappProviderImpl import net.corda.testing.* @@ -41,7 +41,7 @@ class AttachmentLoadingTests { } private companion object { - val logger = loggerFor() + private val logger = contextLogger() val isolatedJAR = AttachmentLoadingTests::class.java.getResource("isolated.jar")!! val ISOLATED_CONTRACT_ID = "net.corda.finance.contracts.isolated.AnotherDummyContract" diff --git a/node/src/main/kotlin/net/corda/node/internal/CordaRPCOpsImpl.kt b/node/src/main/kotlin/net/corda/node/internal/CordaRPCOpsImpl.kt index 0f73300772..d28c8b67ab 100644 --- a/node/src/main/kotlin/net/corda/node/internal/CordaRPCOpsImpl.kt +++ b/node/src/main/kotlin/net/corda/node/internal/CordaRPCOpsImpl.kt @@ -20,8 +20,8 @@ import net.corda.core.node.services.NetworkMapCache import net.corda.core.node.services.Vault import net.corda.core.node.services.vault.* import net.corda.core.transactions.SignedTransaction +import net.corda.core.utilities.contextLogger import net.corda.core.utilities.getOrThrow -import net.corda.core.utilities.loggerFor import net.corda.node.services.api.FlowStarter import net.corda.node.services.api.ServiceHubInternal import net.corda.node.services.messaging.context @@ -296,6 +296,6 @@ internal class CordaRPCOpsImpl( } companion object { - private val log = loggerFor() + private val log = contextLogger() } } \ No newline at end of file diff --git a/node/src/main/kotlin/net/corda/node/internal/Node.kt b/node/src/main/kotlin/net/corda/node/internal/Node.kt index cd0b5bb712..99af1e7965 100644 --- a/node/src/main/kotlin/net/corda/node/internal/Node.kt +++ b/node/src/main/kotlin/net/corda/node/internal/Node.kt @@ -10,9 +10,9 @@ import net.corda.core.node.NodeInfo import net.corda.core.node.ServiceHub import net.corda.core.node.services.TransactionVerifierService import net.corda.core.utilities.NetworkHostAndPort -import net.corda.core.utilities.loggerFor import net.corda.core.serialization.internal.SerializationEnvironmentImpl import net.corda.core.serialization.internal.nodeSerializationEnv +import net.corda.core.utilities.contextLogger import net.corda.node.VersionInfo import net.corda.node.internal.cordapp.CordappLoader import net.corda.node.serialization.KryoServerSerializationScheme @@ -50,7 +50,7 @@ open class Node(configuration: NodeConfiguration, cordappLoader: CordappLoader = makeCordappLoader(configuration) ) : AbstractNode(configuration, createClock(configuration), versionInfo, cordappLoader) { companion object { - private val logger = loggerFor() + private val staticLog = contextLogger() var renderBasicInfoToConsole = true /** Used for useful info that we always want to show, even when not logging to the console */ @@ -80,7 +80,7 @@ open class Node(configuration: NodeConfiguration, } } - override val log: Logger get() = logger + override val log: Logger get() = staticLog override fun makeTransactionVerifierService(): TransactionVerifierService = when (configuration.verifierType) { VerifierType.OutOfProcess -> verifierMessagingClient!!.verifierService VerifierType.InMemory -> InMemoryTransactionVerifierService(numberOfWorkers = 4) @@ -283,7 +283,7 @@ open class Node(configuration: NodeConfiguration, _startupComplete.set(Unit) } }, - { th -> logger.error("Unexpected exception", th) } + { th -> staticLog.error("Unexpected exception", th) } // XXX: Why not use log? ) shutdownHook = addShutdownHook { stop() diff --git a/node/src/main/kotlin/net/corda/node/internal/NodeStartup.kt b/node/src/main/kotlin/net/corda/node/internal/NodeStartup.kt index 930dbe7db8..4ed9546140 100644 --- a/node/src/main/kotlin/net/corda/node/internal/NodeStartup.kt +++ b/node/src/main/kotlin/net/corda/node/internal/NodeStartup.kt @@ -29,7 +29,7 @@ import kotlin.system.exitProcess /** This class is responsible for starting a Node from command line arguments. */ open class NodeStartup(val args: Array) { companion object { - private val logger by lazy { loggerFor() } + private val logger by lazy { loggerFor() } // I guess this is lazy to allow for logging init, but why Node? val LOGS_DIRECTORY_NAME = "logs" val LOGS_CAN_BE_FOUND_IN_STRING = "Logs can be found in" } diff --git a/node/src/main/kotlin/net/corda/node/internal/cordapp/CordappLoader.kt b/node/src/main/kotlin/net/corda/node/internal/cordapp/CordappLoader.kt index 025d0bc94e..0e5c186af1 100644 --- a/node/src/main/kotlin/net/corda/node/internal/cordapp/CordappLoader.kt +++ b/node/src/main/kotlin/net/corda/node/internal/cordapp/CordappLoader.kt @@ -12,7 +12,7 @@ import net.corda.core.node.services.CordaService import net.corda.core.schemas.MappedSchema import net.corda.core.serialization.SerializationWhitelist import net.corda.core.serialization.SerializeAsToken -import net.corda.core.utilities.loggerFor +import net.corda.core.utilities.contextLogger import net.corda.node.internal.classloading.requireAnnotation import net.corda.node.services.config.NodeConfiguration import net.corda.nodeapi.internal.serialization.DefaultWhitelist @@ -53,8 +53,7 @@ class CordappLoader private constructor(private val cordappJarPaths: List() - + private val logger = contextLogger() /** * Default cordapp dir name */ diff --git a/node/src/main/kotlin/net/corda/node/services/api/ServiceHubInternal.kt b/node/src/main/kotlin/net/corda/node/services/api/ServiceHubInternal.kt index 52ced3c7f0..a5999d2026 100644 --- a/node/src/main/kotlin/net/corda/node/services/api/ServiceHubInternal.kt +++ b/node/src/main/kotlin/net/corda/node/services/api/ServiceHubInternal.kt @@ -16,7 +16,7 @@ import net.corda.core.node.services.NetworkMapCache import net.corda.core.node.services.NetworkMapCacheBase import net.corda.core.node.services.TransactionStorage import net.corda.core.transactions.SignedTransaction -import net.corda.core.utilities.loggerFor +import net.corda.core.utilities.contextLogger import net.corda.node.internal.InitiatedFlowFactory import net.corda.node.internal.cordapp.CordappProviderInternal import net.corda.node.services.config.NodeConfiguration @@ -43,7 +43,7 @@ interface NetworkMapCacheBaseInternal : NetworkMapCacheBase { interface ServiceHubInternal : ServiceHub { companion object { - private val log = loggerFor() + private val log = contextLogger() } override val vaultService: VaultServiceInternal diff --git a/node/src/main/kotlin/net/corda/node/services/config/ConfigUtilities.kt b/node/src/main/kotlin/net/corda/node/services/config/ConfigUtilities.kt index f8d68d3146..9ba6a09c9f 100644 --- a/node/src/main/kotlin/net/corda/node/services/config/ConfigUtilities.kt +++ b/node/src/main/kotlin/net/corda/node/services/config/ConfigUtilities.kt @@ -8,12 +8,12 @@ import net.corda.core.crypto.Crypto import net.corda.core.crypto.SignatureScheme import net.corda.core.identity.CordaX500Name import net.corda.core.internal.* -import net.corda.core.utilities.loggerFor import net.corda.node.utilities.* import net.corda.nodeapi.config.SSLConfiguration import org.bouncycastle.asn1.x509.GeneralName import org.bouncycastle.asn1.x509.GeneralSubtree import org.bouncycastle.asn1.x509.NameConstraints +import org.slf4j.LoggerFactory import java.nio.file.Path import java.security.KeyStore @@ -21,8 +21,7 @@ fun configOf(vararg pairs: Pair): Config = ConfigFactory.parseMap( operator fun Config.plus(overrides: Map): Config = ConfigFactory.parseMap(overrides).withFallback(this) object ConfigHelper { - private val log = loggerFor() - + private val log = LoggerFactory.getLogger(javaClass) fun loadConfig(baseDirectory: Path, configFile: Path = baseDirectory / "node.conf", allowMissingConfig: Boolean = false, diff --git a/node/src/main/kotlin/net/corda/node/services/events/NodeSchedulerService.kt b/node/src/main/kotlin/net/corda/node/services/events/NodeSchedulerService.kt index 27ca5d579b..ec4fdd855d 100644 --- a/node/src/main/kotlin/net/corda/node/services/events/NodeSchedulerService.kt +++ b/node/src/main/kotlin/net/corda/node/services/events/NodeSchedulerService.kt @@ -17,7 +17,7 @@ import net.corda.core.internal.until import net.corda.core.node.StateLoader import net.corda.core.schemas.PersistentStateRef import net.corda.core.serialization.SingletonSerializeAsToken -import net.corda.core.utilities.loggerFor +import net.corda.core.utilities.contextLogger import net.corda.core.utilities.trace import net.corda.node.internal.MutableClock import net.corda.node.services.api.FlowStarter @@ -65,8 +65,7 @@ class NodeSchedulerService(private val clock: Clock, : SchedulerService, SingletonSerializeAsToken() { companion object { - private val log = loggerFor() - + private val log = contextLogger() /** * Wait until the given [Future] is complete or the deadline is reached, with support for [MutableClock] implementations * used in demos or testing. This will substitute a Fiber compatible Future so the current diff --git a/node/src/main/kotlin/net/corda/node/services/identity/InMemoryIdentityService.kt b/node/src/main/kotlin/net/corda/node/services/identity/InMemoryIdentityService.kt index 679e5251c4..77997cd721 100644 --- a/node/src/main/kotlin/net/corda/node/services/identity/InMemoryIdentityService.kt +++ b/node/src/main/kotlin/net/corda/node/services/identity/InMemoryIdentityService.kt @@ -8,7 +8,7 @@ import net.corda.core.internal.toX509CertHolder import net.corda.core.node.services.IdentityService import net.corda.core.node.services.UnknownAnonymousPartyException import net.corda.core.serialization.SingletonSerializeAsToken -import net.corda.core.utilities.loggerFor +import net.corda.core.utilities.contextLogger import net.corda.core.utilities.trace import org.bouncycastle.cert.X509CertificateHolder import java.security.InvalidAlgorithmParameterException @@ -16,7 +16,6 @@ import java.security.PublicKey import java.security.cert.* import java.util.concurrent.ConcurrentHashMap import javax.annotation.concurrent.ThreadSafe -import javax.security.auth.x500.X500Principal /** * Simple identity service which caches parties and provides functionality for efficient lookup. @@ -33,7 +32,7 @@ class InMemoryIdentityService(identities: Iterable = emptyS trustRoot: X509CertificateHolder) : this(wellKnownIdentities, confidentialIdentities, trustRoot.cert) companion object { - private val log = loggerFor() + private val log = contextLogger() } /** diff --git a/node/src/main/kotlin/net/corda/node/services/identity/PersistentIdentityService.kt b/node/src/main/kotlin/net/corda/node/services/identity/PersistentIdentityService.kt index dba40da607..960cfb84fc 100644 --- a/node/src/main/kotlin/net/corda/node/services/identity/PersistentIdentityService.kt +++ b/node/src/main/kotlin/net/corda/node/services/identity/PersistentIdentityService.kt @@ -10,11 +10,10 @@ import net.corda.core.node.services.IdentityService import net.corda.core.node.services.UnknownAnonymousPartyException import net.corda.core.serialization.SingletonSerializeAsToken import net.corda.core.utilities.debug -import net.corda.core.utilities.loggerFor import net.corda.core.utilities.MAX_HASH_HEX_SIZE +import net.corda.core.utilities.contextLogger import net.corda.node.utilities.AppendOnlyPersistentMap import net.corda.node.utilities.NODE_DATABASE_PREFIX -import net.corda.node.utilities.X509Utilities import org.bouncycastle.cert.X509CertificateHolder import java.io.ByteArrayInputStream import java.security.InvalidAlgorithmParameterException @@ -36,7 +35,7 @@ class PersistentIdentityService(identities: Iterable = empt trustRoot: X509CertificateHolder) : this(wellKnownIdentities, confidentialIdentities, trustRoot.cert) companion object { - private val log = loggerFor() + private val log = contextLogger() private val certFactory: CertificateFactory = CertificateFactory.getInstance("X.509") fun createPKMap(): AppendOnlyPersistentMap { diff --git a/node/src/main/kotlin/net/corda/node/services/messaging/ArtemisMessagingServer.kt b/node/src/main/kotlin/net/corda/node/services/messaging/ArtemisMessagingServer.kt index 8c5aa07e39..68e9b0f79c 100644 --- a/node/src/main/kotlin/net/corda/node/services/messaging/ArtemisMessagingServer.kt +++ b/node/src/main/kotlin/net/corda/node/services/messaging/ArtemisMessagingServer.kt @@ -12,10 +12,7 @@ import net.corda.core.node.NodeInfo import net.corda.core.node.services.NetworkMapCache import net.corda.core.node.services.NetworkMapCache.MapChange import net.corda.core.serialization.SingletonSerializeAsToken -import net.corda.core.utilities.NetworkHostAndPort -import net.corda.core.utilities.debug -import net.corda.core.utilities.loggerFor -import net.corda.core.utilities.parsePublicKeyBase58 +import net.corda.core.utilities.* import net.corda.node.internal.Node import net.corda.node.services.RPCUserService import net.corda.node.services.config.NodeConfiguration @@ -99,7 +96,7 @@ class ArtemisMessagingServer(private val config: NodeConfiguration, val networkMapCache: NetworkMapCache, val userService: RPCUserService) : SingletonSerializeAsToken() { companion object { - private val log = loggerFor() + private val log = contextLogger() /** 10 MiB maximum allowed file size for attachments, including message headers. TODO: acquire this value from Network Map when supported. */ @JvmStatic val MAX_FILE_SIZE = 10485760 @@ -419,7 +416,7 @@ private class VerifyingNettyConnector(configuration: MutableMap, protocolManager: ClientProtocolManager?) : NettyConnector(configuration, handler, listener, closeExecutor, threadPool, scheduledThreadPool, protocolManager) { companion object { - private val log = loggerFor() + private val log = contextLogger() } private val sslEnabled = ConfigurationHelper.getBooleanProperty(TransportConstants.SSL_ENABLED_PROP_NAME, TransportConstants.DEFAULT_SSL_ENABLED, configuration) @@ -542,8 +539,7 @@ class NodeLoginModule : LoginModule { const val VERIFIER_ROLE = "SystemRoles/Verifier" const val CERT_CHAIN_CHECKS_OPTION_NAME = "CertChainChecks" - - val log = loggerFor() + private val log = contextLogger() } private var loginSucceeded: Boolean = false diff --git a/node/src/main/kotlin/net/corda/node/services/messaging/P2PMessagingClient.kt b/node/src/main/kotlin/net/corda/node/services/messaging/P2PMessagingClient.kt index 2b21ae766a..e78dfb54af 100644 --- a/node/src/main/kotlin/net/corda/node/services/messaging/P2PMessagingClient.kt +++ b/node/src/main/kotlin/net/corda/node/services/messaging/P2PMessagingClient.kt @@ -10,8 +10,8 @@ import net.corda.core.serialization.SerializationDefaults import net.corda.core.serialization.SingletonSerializeAsToken import net.corda.core.serialization.deserialize import net.corda.core.serialization.serialize +import net.corda.core.utilities.* import net.corda.core.utilities.NetworkHostAndPort -import net.corda.core.utilities.loggerFor import net.corda.core.utilities.sequence import net.corda.core.utilities.trace import net.corda.node.VersionInfo @@ -68,7 +68,7 @@ class P2PMessagingClient(config: NodeConfiguration, advertisedAddress: NetworkHostAndPort = serverAddress ) : SingletonSerializeAsToken(), MessagingService { companion object { - private val log = loggerFor() + private val log = contextLogger() // This is a "property" attached to an Artemis MQ message object, which contains our own notion of "topic". // We should probably try to unify our notion of "topic" (really, just a string that identifies an endpoint // that will handle messages, like a URL) with the terminology used by underlying MQ libraries, to avoid diff --git a/node/src/main/kotlin/net/corda/node/services/messaging/RPCServer.kt b/node/src/main/kotlin/net/corda/node/services/messaging/RPCServer.kt index 9de779a9a9..2f2716dd76 100644 --- a/node/src/main/kotlin/net/corda/node/services/messaging/RPCServer.kt +++ b/node/src/main/kotlin/net/corda/node/services/messaging/RPCServer.kt @@ -24,10 +24,7 @@ import net.corda.core.messaging.RPCOps import net.corda.core.serialization.SerializationContext import net.corda.core.serialization.SerializationDefaults.RPC_SERVER_CONTEXT import net.corda.core.serialization.deserialize -import net.corda.core.utilities.Try -import net.corda.core.utilities.debug -import net.corda.core.utilities.loggerFor -import net.corda.core.utilities.seconds +import net.corda.core.utilities.* import net.corda.node.services.RPCUserService import net.corda.node.services.logging.pushToLoggingContext import net.corda.nodeapi.* @@ -42,6 +39,7 @@ import org.apache.activemq.artemis.api.core.client.ServerLocator import org.apache.activemq.artemis.api.core.management.ActiveMQServerControl import org.apache.activemq.artemis.api.core.management.CoreNotificationType import org.apache.activemq.artemis.api.core.management.ManagementHelper +import org.slf4j.LoggerFactory import org.slf4j.MDC import rx.Notification import rx.Observable @@ -90,7 +88,7 @@ class RPCServer( private val rpcConfiguration: RPCServerConfiguration = RPCServerConfiguration.default ) { private companion object { - val log = loggerFor() + private val log = contextLogger() } private enum class State { @@ -442,7 +440,7 @@ class ObservableContext( val observationSendExecutor: ExecutorService ) { private companion object { - val log = loggerFor() + private val log = contextLogger() } private val serializationContextWithObservableContext = RpcServerObservableSerializer.createContext(this) @@ -465,8 +463,7 @@ class ObservableContext( object RpcServerObservableSerializer : Serializer>() { private object RpcObservableContextKey - private val log = loggerFor() - + private val log = LoggerFactory.getLogger(javaClass) fun createContext(observableContext: ObservableContext): SerializationContext { return RPC_SERVER_CONTEXT.withProperty(RpcServerObservableSerializer.RpcObservableContextKey, observableContext) } diff --git a/node/src/main/kotlin/net/corda/node/services/network/NetworkMapClient.kt b/node/src/main/kotlin/net/corda/node/services/network/NetworkMapClient.kt index 24a3b92fe0..02f4310061 100644 --- a/node/src/main/kotlin/net/corda/node/services/network/NetworkMapClient.kt +++ b/node/src/main/kotlin/net/corda/node/services/network/NetworkMapClient.kt @@ -8,7 +8,7 @@ import net.corda.core.internal.openHttpConnection import net.corda.core.node.NodeInfo import net.corda.core.serialization.deserialize import net.corda.core.serialization.serialize -import net.corda.core.utilities.loggerFor +import net.corda.core.utilities.contextLogger import net.corda.core.utilities.minutes import net.corda.core.utilities.seconds import net.corda.node.services.api.NetworkMapCacheInternal @@ -25,10 +25,6 @@ import java.util.concurrent.Executors import java.util.concurrent.TimeUnit class NetworkMapClient(compatibilityZoneURL: URL) { - companion object { - val logger = loggerFor() - } - private val networkMapUrl = URL("$compatibilityZoneURL/network-map") fun publish(signedNodeInfo: SignedData) { @@ -73,7 +69,7 @@ class NetworkMapUpdater(private val networkMapCache: NetworkMapCacheInternal, private val fileWatcher: NodeInfoWatcher, private val networkMapClient: NetworkMapClient?) : Closeable { companion object { - private val logger = loggerFor() + private val logger = contextLogger() private val retryInterval = 1.minutes } diff --git a/node/src/main/kotlin/net/corda/node/services/network/NodeInfoWatcher.kt b/node/src/main/kotlin/net/corda/node/services/network/NodeInfoWatcher.kt index 579c91afe4..76fcf6c472 100644 --- a/node/src/main/kotlin/net/corda/node/services/network/NodeInfoWatcher.kt +++ b/node/src/main/kotlin/net/corda/node/services/network/NodeInfoWatcher.kt @@ -7,7 +7,7 @@ import net.corda.core.internal.* import net.corda.core.node.NodeInfo import net.corda.core.serialization.deserialize import net.corda.core.serialization.serialize -import net.corda.core.utilities.loggerFor +import net.corda.core.utilities.contextLogger import net.corda.core.utilities.seconds import net.corda.nodeapi.NodeInfoFilesCopier import rx.Observable @@ -40,8 +40,7 @@ class NodeInfoWatcher(private val nodePath: Path, val processedNodeInfoHashes: Set get() = _processedNodeInfoHashes.toSet() companion object { - private val logger = loggerFor() - + private val logger = contextLogger() /** * Saves the given [NodeInfo] to a path. * The node is 'encoded' as a SignedData, signed with the owning key of its first identity. diff --git a/node/src/main/kotlin/net/corda/node/services/network/PersistentNetworkMapCache.kt b/node/src/main/kotlin/net/corda/node/services/network/PersistentNetworkMapCache.kt index 35da4d013b..982f4da070 100644 --- a/node/src/main/kotlin/net/corda/node/services/network/PersistentNetworkMapCache.kt +++ b/node/src/main/kotlin/net/corda/node/services/network/PersistentNetworkMapCache.kt @@ -19,7 +19,7 @@ import net.corda.core.node.services.PartyInfo import net.corda.core.serialization.SingletonSerializeAsToken import net.corda.core.serialization.serialize import net.corda.core.utilities.NetworkHostAndPort -import net.corda.core.utilities.loggerFor +import net.corda.core.utilities.contextLogger import net.corda.node.services.api.NetworkMapCacheBaseInternal import net.corda.node.services.api.NetworkMapCacheInternal import net.corda.node.utilities.CordaPersistence @@ -63,7 +63,7 @@ class NetworkMapCacheImpl( @ThreadSafe open class PersistentNetworkMapCache(private val database: CordaPersistence) : SingletonSerializeAsToken(), NetworkMapCacheBaseInternal { companion object { - val logger = loggerFor() + private val logger = contextLogger() } // TODO Small explanation, partyNodes and registeredNodes is left in memory as it was before, because it will be removed in diff --git a/node/src/main/kotlin/net/corda/node/services/persistence/AbstractPartyDescriptor.kt b/node/src/main/kotlin/net/corda/node/services/persistence/AbstractPartyDescriptor.kt index 7ae975368e..7201c7df56 100644 --- a/node/src/main/kotlin/net/corda/node/services/persistence/AbstractPartyDescriptor.kt +++ b/node/src/main/kotlin/net/corda/node/services/persistence/AbstractPartyDescriptor.kt @@ -3,7 +3,7 @@ package net.corda.node.services.persistence import net.corda.core.identity.AbstractParty import net.corda.core.identity.CordaX500Name import net.corda.core.node.services.IdentityService -import net.corda.core.utilities.loggerFor +import net.corda.core.utilities.contextLogger import org.hibernate.type.descriptor.WrapperOptions import org.hibernate.type.descriptor.java.AbstractTypeDescriptor import org.hibernate.type.descriptor.java.ImmutableMutabilityPlan @@ -11,7 +11,7 @@ import org.hibernate.type.descriptor.java.MutabilityPlan class AbstractPartyDescriptor(identitySvc: () -> IdentityService) : AbstractTypeDescriptor(AbstractParty::class.java) { companion object { - private val log = loggerFor() + private val log = contextLogger() } private val identityService: IdentityService by lazy(identitySvc) diff --git a/node/src/main/kotlin/net/corda/node/services/persistence/AbstractPartyToX500NameAsStringConverter.kt b/node/src/main/kotlin/net/corda/node/services/persistence/AbstractPartyToX500NameAsStringConverter.kt index 81dfe1c7ec..dcaf9f82d3 100644 --- a/node/src/main/kotlin/net/corda/node/services/persistence/AbstractPartyToX500NameAsStringConverter.kt +++ b/node/src/main/kotlin/net/corda/node/services/persistence/AbstractPartyToX500NameAsStringConverter.kt @@ -3,7 +3,7 @@ package net.corda.node.services.persistence import net.corda.core.identity.AbstractParty import net.corda.core.identity.CordaX500Name import net.corda.core.node.services.IdentityService -import net.corda.core.utilities.loggerFor +import net.corda.core.utilities.contextLogger import javax.persistence.AttributeConverter import javax.persistence.Converter @@ -14,7 +14,7 @@ import javax.persistence.Converter @Converter(autoApply = true) class AbstractPartyToX500NameAsStringConverter(identitySvc: () -> IdentityService) : AttributeConverter { companion object { - private val log = loggerFor() + private val log = contextLogger() } private val identityService: IdentityService by lazy(identitySvc) diff --git a/node/src/main/kotlin/net/corda/node/services/persistence/HibernateConfiguration.kt b/node/src/main/kotlin/net/corda/node/services/persistence/HibernateConfiguration.kt index cd6b93de57..7d5f20b248 100644 --- a/node/src/main/kotlin/net/corda/node/services/persistence/HibernateConfiguration.kt +++ b/node/src/main/kotlin/net/corda/node/services/persistence/HibernateConfiguration.kt @@ -3,8 +3,7 @@ package net.corda.node.services.persistence import net.corda.core.internal.castIfPossible import net.corda.core.node.services.IdentityService import net.corda.core.schemas.MappedSchema -import net.corda.core.utilities.OpaqueBytes -import net.corda.core.utilities.loggerFor +import net.corda.core.utilities.contextLogger import net.corda.core.utilities.toHexString import net.corda.node.services.api.SchemaService import net.corda.node.utilities.DatabaseTransactionManager @@ -29,7 +28,7 @@ import java.util.concurrent.ConcurrentHashMap class HibernateConfiguration(val schemaService: SchemaService, private val databaseProperties: Properties, private val createIdentityService: () -> IdentityService) { companion object { - val logger = loggerFor() + private val logger = contextLogger() } // TODO: make this a guava cache or similar to limit ability for this to grow forever. diff --git a/node/src/main/kotlin/net/corda/node/services/persistence/NodeAttachmentService.kt b/node/src/main/kotlin/net/corda/node/services/persistence/NodeAttachmentService.kt index 4e5fcf4530..26f251b73e 100644 --- a/node/src/main/kotlin/net/corda/node/services/persistence/NodeAttachmentService.kt +++ b/node/src/main/kotlin/net/corda/node/services/persistence/NodeAttachmentService.kt @@ -14,13 +14,12 @@ import net.corda.core.node.services.AttachmentId import net.corda.core.node.services.AttachmentStorage import net.corda.core.node.services.vault.* import net.corda.core.serialization.* -import net.corda.core.utilities.loggerFor +import net.corda.core.utilities.contextLogger import net.corda.node.services.vault.HibernateAttachmentQueryCriteriaParser import net.corda.node.utilities.DatabaseTransactionManager import net.corda.node.utilities.NODE_DATABASE_PREFIX import net.corda.node.utilities.currentDBSession import java.io.* -import java.lang.Exception import java.nio.file.Paths import java.time.Instant import java.util.jar.JarInputStream @@ -57,7 +56,7 @@ class NodeAttachmentService(metrics: MetricRegistry) : AttachmentStorage, Single ) : Serializable companion object { - private val log = loggerFor() + private val log = contextLogger() } @VisibleForTesting diff --git a/node/src/main/kotlin/net/corda/node/services/schema/HibernateObserver.kt b/node/src/main/kotlin/net/corda/node/services/schema/HibernateObserver.kt index 2babcc1d70..41e6b6d641 100644 --- a/node/src/main/kotlin/net/corda/node/services/schema/HibernateObserver.kt +++ b/node/src/main/kotlin/net/corda/node/services/schema/HibernateObserver.kt @@ -7,8 +7,8 @@ import net.corda.core.internal.VisibleForTesting import net.corda.core.node.services.Vault import net.corda.core.schemas.MappedSchema import net.corda.core.schemas.PersistentStateRef +import net.corda.core.utilities.contextLogger import net.corda.core.utilities.debug -import net.corda.core.utilities.loggerFor import net.corda.node.services.persistence.HibernateConfiguration import net.corda.node.utilities.DatabaseTransactionManager import org.hibernate.FlushMode @@ -20,7 +20,7 @@ import rx.Observable // TODO: Manage version evolution of the schemas via additional tooling. class HibernateObserver private constructor(private val config: HibernateConfiguration) { companion object { - private val log = loggerFor() + private val log = contextLogger() @JvmStatic fun install(vaultUpdates: Observable>, config: HibernateConfiguration): HibernateObserver { val observer = HibernateObserver(config) diff --git a/node/src/main/kotlin/net/corda/node/services/statemachine/FlowStackSnapshotFactory.kt b/node/src/main/kotlin/net/corda/node/services/statemachine/FlowStackSnapshotFactory.kt index 72a7926eb2..7360954d31 100644 --- a/node/src/main/kotlin/net/corda/node/services/statemachine/FlowStackSnapshotFactory.kt +++ b/node/src/main/kotlin/net/corda/node/services/statemachine/FlowStackSnapshotFactory.kt @@ -3,7 +3,7 @@ package net.corda.node.services.statemachine import net.corda.core.flows.FlowLogic import net.corda.core.flows.FlowStackSnapshot import net.corda.core.flows.StateMachineRunId -import net.corda.core.utilities.loggerFor +import org.slf4j.LoggerFactory import java.nio.file.Path import java.util.* @@ -26,8 +26,7 @@ interface FlowStackSnapshotFactory { fun persistAsJsonFile(flowClass: Class>, baseDir: Path, flowId: StateMachineRunId) private object DefaultFlowStackSnapshotFactory : FlowStackSnapshotFactory { - private val log = loggerFor() - + private val log = LoggerFactory.getLogger(javaClass) override fun getFlowStackSnapshot(flowClass: Class>): FlowStackSnapshot? { log.warn("Flow stack snapshot are not supposed to be used in a production deployment") return null diff --git a/node/src/main/kotlin/net/corda/node/services/statemachine/StateMachineManagerImpl.kt b/node/src/main/kotlin/net/corda/node/services/statemachine/StateMachineManagerImpl.kt index 29c261aa7a..73fe043ee8 100644 --- a/node/src/main/kotlin/net/corda/node/services/statemachine/StateMachineManagerImpl.kt +++ b/node/src/main/kotlin/net/corda/node/services/statemachine/StateMachineManagerImpl.kt @@ -27,10 +27,7 @@ import net.corda.core.serialization.SerializationDefaults.SERIALIZATION_FACTORY import net.corda.core.serialization.SerializedBytes import net.corda.core.serialization.deserialize import net.corda.core.serialization.serialize -import net.corda.core.utilities.Try -import net.corda.core.utilities.debug -import net.corda.core.utilities.loggerFor -import net.corda.core.utilities.trace +import net.corda.core.utilities.* import net.corda.node.internal.InitiatedFlowFactory import net.corda.node.services.api.Checkpoint import net.corda.node.services.api.CheckpointStorage @@ -67,7 +64,7 @@ class StateMachineManagerImpl( inner class FiberScheduler : FiberExecutorScheduler("Same thread scheduler", executor) companion object { - private val logger = loggerFor() + private val logger = contextLogger() internal val sessionTopic = TopicSession("platform.session") init { diff --git a/node/src/main/kotlin/net/corda/node/services/transactions/BFTNonValidatingNotaryService.kt b/node/src/main/kotlin/net/corda/node/services/transactions/BFTNonValidatingNotaryService.kt index 8266aaa0c0..adf1afd69d 100644 --- a/node/src/main/kotlin/net/corda/node/services/transactions/BFTNonValidatingNotaryService.kt +++ b/node/src/main/kotlin/net/corda/node/services/transactions/BFTNonValidatingNotaryService.kt @@ -16,7 +16,6 @@ import net.corda.core.node.services.NotaryService import net.corda.core.node.services.TimeWindowChecker import net.corda.core.node.services.UniquenessProvider import net.corda.core.schemas.PersistentStateRef -import net.corda.core.serialization.SerializationDefaults import net.corda.core.serialization.deserialize import net.corda.core.serialization.serialize import net.corda.core.transactions.FilteredTransaction @@ -41,7 +40,7 @@ class BFTNonValidatingNotaryService(override val services: ServiceHubInternal, cluster: BFTSMaRt.Cluster) : NotaryService() { companion object { val id = constructId(validating = false, bft = true) - private val log = loggerFor() + private val log = contextLogger() } private val client: BFTSMaRt.Client diff --git a/node/src/main/kotlin/net/corda/node/services/transactions/BFTSMaRt.kt b/node/src/main/kotlin/net/corda/node/services/transactions/BFTSMaRt.kt index b1ea728694..67e49887ea 100644 --- a/node/src/main/kotlin/net/corda/node/services/transactions/BFTSMaRt.kt +++ b/node/src/main/kotlin/net/corda/node/services/transactions/BFTSMaRt.kt @@ -29,8 +29,8 @@ import net.corda.core.serialization.deserialize import net.corda.core.serialization.serialize import net.corda.core.transactions.FilteredTransaction import net.corda.core.transactions.SignedTransaction +import net.corda.core.utilities.contextLogger import net.corda.core.utilities.debug -import net.corda.core.utilities.loggerFor import net.corda.node.services.api.ServiceHubInternal import net.corda.node.services.transactions.BFTSMaRt.Client import net.corda.node.services.transactions.BFTSMaRt.Replica @@ -77,7 +77,7 @@ object BFTSMaRt { class Client(config: BFTSMaRtConfig, private val clientId: Int, private val cluster: Cluster, private val notaryService: BFTNonValidatingNotaryService) : SingletonSerializeAsToken() { companion object { - private val log = loggerFor() + private val log = contextLogger() } /** A proxy for communicating with the BFT cluster */ @@ -181,7 +181,7 @@ object BFTSMaRt { protected val notaryIdentityKey: PublicKey, private val timeWindowChecker: TimeWindowChecker) : DefaultRecoverable() { companion object { - private val log = loggerFor() + private val log = contextLogger() } private val stateManagerOverride = run { diff --git a/node/src/main/kotlin/net/corda/node/services/transactions/BFTSMaRtConfig.kt b/node/src/main/kotlin/net/corda/node/services/transactions/BFTSMaRtConfig.kt index 827c3356ae..1ba8515fee 100644 --- a/node/src/main/kotlin/net/corda/node/services/transactions/BFTSMaRtConfig.kt +++ b/node/src/main/kotlin/net/corda/node/services/transactions/BFTSMaRtConfig.kt @@ -2,8 +2,8 @@ package net.corda.node.services.transactions import net.corda.core.internal.div import net.corda.core.utilities.NetworkHostAndPort +import net.corda.core.utilities.contextLogger import net.corda.core.utilities.debug -import net.corda.core.utilities.loggerFor import java.io.FileWriter import java.io.PrintWriter import java.net.InetAddress @@ -19,7 +19,7 @@ import java.util.concurrent.TimeUnit.MILLISECONDS */ class BFTSMaRtConfig(private val replicaAddresses: List, debug: Boolean, val exposeRaces: Boolean) : PathManager(Files.createTempDirectory("bft-smart-config")) { companion object { - private val log = loggerFor() + private val log = contextLogger() internal val portIsClaimedFormat = "Port %s is claimed by another replica: %s" } diff --git a/node/src/main/kotlin/net/corda/node/services/transactions/DistributedImmutableMap.kt b/node/src/main/kotlin/net/corda/node/services/transactions/DistributedImmutableMap.kt index 0b8b00983f..5a67023df9 100644 --- a/node/src/main/kotlin/net/corda/node/services/transactions/DistributedImmutableMap.kt +++ b/node/src/main/kotlin/net/corda/node/services/transactions/DistributedImmutableMap.kt @@ -4,7 +4,7 @@ import io.atomix.copycat.Command import io.atomix.copycat.Query import io.atomix.copycat.server.Commit import io.atomix.copycat.server.StateMachine -import net.corda.core.utilities.loggerFor +import net.corda.core.utilities.contextLogger import net.corda.node.utilities.* import java.util.LinkedHashMap @@ -17,7 +17,7 @@ import java.util.LinkedHashMap */ class DistributedImmutableMap(val db: CordaPersistence, createMap: () -> AppendOnlyPersistentMap, E, EK>) : StateMachine() { companion object { - private val log = loggerFor>() + private val log = contextLogger() } object Commands { diff --git a/node/src/main/kotlin/net/corda/node/services/transactions/OutOfProcessTransactionVerifierService.kt b/node/src/main/kotlin/net/corda/node/services/transactions/OutOfProcessTransactionVerifierService.kt index 3fefbf9822..fbd7db4f93 100644 --- a/node/src/main/kotlin/net/corda/node/services/transactions/OutOfProcessTransactionVerifierService.kt +++ b/node/src/main/kotlin/net/corda/node/services/transactions/OutOfProcessTransactionVerifierService.kt @@ -11,7 +11,7 @@ import net.corda.core.internal.concurrent.OpenFuture import net.corda.core.internal.concurrent.openFuture import net.corda.core.serialization.SingletonSerializeAsToken import net.corda.core.transactions.LedgerTransaction -import net.corda.core.utilities.loggerFor +import net.corda.core.utilities.contextLogger import net.corda.nodeapi.VerifierApi import org.apache.activemq.artemis.api.core.client.ClientConsumer import java.util.concurrent.ConcurrentHashMap @@ -21,7 +21,7 @@ class OutOfProcessTransactionVerifierService( private val sendRequest: (Long, LedgerTransaction) -> Unit ) : SingletonSerializeAsToken(), TransactionVerifierService { companion object { - val log = loggerFor() + private val log = contextLogger() } private data class VerificationHandle( diff --git a/node/src/main/kotlin/net/corda/node/services/transactions/PersistentUniquenessProvider.kt b/node/src/main/kotlin/net/corda/node/services/transactions/PersistentUniquenessProvider.kt index d3cfaaa877..dd0e527ba1 100644 --- a/node/src/main/kotlin/net/corda/node/services/transactions/PersistentUniquenessProvider.kt +++ b/node/src/main/kotlin/net/corda/node/services/transactions/PersistentUniquenessProvider.kt @@ -9,11 +9,8 @@ import net.corda.core.internal.ThreadBox import net.corda.core.node.services.UniquenessException import net.corda.core.node.services.UniquenessProvider import net.corda.core.schemas.PersistentStateRef -import net.corda.core.serialization.SerializationDefaults import net.corda.core.serialization.SingletonSerializeAsToken -import net.corda.core.serialization.deserialize -import net.corda.core.serialization.serialize -import net.corda.core.utilities.loggerFor +import net.corda.core.utilities.contextLogger import net.corda.node.utilities.AppendOnlyPersistentMap import net.corda.node.utilities.NODE_DATABASE_PREFIX import java.io.Serializable @@ -62,8 +59,7 @@ class PersistentUniquenessProvider : UniquenessProvider, SingletonSerializeAsTok private val mutex = ThreadBox(InnerState()) companion object { - private val log = loggerFor() - + private val log = contextLogger() fun createMap(): AppendOnlyPersistentMap = AppendOnlyPersistentMap( toPersistentEntityKey = { PersistentStateRef(it.txhash.toString(), it.index) }, diff --git a/node/src/main/kotlin/net/corda/node/services/transactions/RaftUniquenessProvider.kt b/node/src/main/kotlin/net/corda/node/services/transactions/RaftUniquenessProvider.kt index 655d19d108..1976c0e82c 100644 --- a/node/src/main/kotlin/net/corda/node/services/transactions/RaftUniquenessProvider.kt +++ b/node/src/main/kotlin/net/corda/node/services/transactions/RaftUniquenessProvider.kt @@ -26,7 +26,7 @@ import net.corda.core.serialization.SerializationDefaults import net.corda.core.serialization.SingletonSerializeAsToken import net.corda.core.serialization.deserialize import net.corda.core.serialization.serialize -import net.corda.core.utilities.loggerFor +import net.corda.core.utilities.contextLogger import net.corda.node.services.config.RaftConfig import net.corda.node.utilities.AppendOnlyPersistentMap import net.corda.node.utilities.CordaPersistence @@ -49,8 +49,7 @@ import javax.persistence.* @ThreadSafe class RaftUniquenessProvider(private val transportConfiguration: NodeSSLConfiguration, private val db: CordaPersistence, private val metrics: MetricRegistry, private val raftConfig: RaftConfig) : UniquenessProvider, SingletonSerializeAsToken() { companion object { - private val log = loggerFor() - + private val log = contextLogger() fun createMap(): AppendOnlyPersistentMap, RaftState, String> = AppendOnlyPersistentMap( toPersistentEntityKey = { it }, diff --git a/node/src/main/kotlin/net/corda/node/services/vault/HibernateQueryCriteriaParser.kt b/node/src/main/kotlin/net/corda/node/services/vault/HibernateQueryCriteriaParser.kt index 02af1f4b1b..042ff71c01 100644 --- a/node/src/main/kotlin/net/corda/node/services/vault/HibernateQueryCriteriaParser.kt +++ b/node/src/main/kotlin/net/corda/node/services/vault/HibernateQueryCriteriaParser.kt @@ -11,7 +11,7 @@ import net.corda.core.node.services.vault.QueryCriteria.CommonQueryCriteria import net.corda.core.schemas.PersistentState import net.corda.core.schemas.PersistentStateRef import net.corda.core.utilities.OpaqueBytes -import net.corda.core.utilities.loggerFor +import net.corda.core.utilities.contextLogger import net.corda.core.utilities.trace import net.corda.node.services.persistence.NodeAttachmentService import org.hibernate.query.criteria.internal.expression.LiteralExpression @@ -107,7 +107,7 @@ class HibernateAttachmentQueryCriteriaParser(override val criteriaBuilder: Crite AbstractQueryCriteriaParser(), AttachmentsQueryCriteriaParser { private companion object { - val log = loggerFor() + private val log = contextLogger() } init { @@ -170,7 +170,7 @@ class HibernateQueryCriteriaParser(val contractStateType: Class, val vaultStates: Root) : AbstractQueryCriteriaParser(), IQueryCriteriaParser { private companion object { - val log = loggerFor() + private val log = contextLogger() } // incrementally build list of join predicates diff --git a/node/src/main/kotlin/net/corda/node/services/vault/NodeVaultService.kt b/node/src/main/kotlin/net/corda/node/services/vault/NodeVaultService.kt index 13023a6c68..c3c2e8e8b7 100644 --- a/node/src/main/kotlin/net/corda/node/services/vault/NodeVaultService.kt +++ b/node/src/main/kotlin/net/corda/node/services/vault/NodeVaultService.kt @@ -57,7 +57,7 @@ class NodeVaultService( hibernateConfig: HibernateConfiguration ) : SingletonSerializeAsToken(), VaultServiceInternal { private companion object { - val log = loggerFor() + private val log = contextLogger() } private class InnerState { diff --git a/node/src/main/kotlin/net/corda/node/services/vault/VaultSoftLockManager.kt b/node/src/main/kotlin/net/corda/node/services/vault/VaultSoftLockManager.kt index 8bf233589b..b57ac3a45c 100644 --- a/node/src/main/kotlin/net/corda/node/services/vault/VaultSoftLockManager.kt +++ b/node/src/main/kotlin/net/corda/node/services/vault/VaultSoftLockManager.kt @@ -4,17 +4,14 @@ import net.corda.core.contracts.FungibleAsset import net.corda.core.contracts.StateRef import net.corda.core.flows.FlowLogic import net.corda.core.node.services.VaultService -import net.corda.core.utilities.NonEmptySet -import net.corda.core.utilities.loggerFor -import net.corda.core.utilities.toNonEmptySet -import net.corda.core.utilities.trace +import net.corda.core.utilities.* import net.corda.node.services.statemachine.FlowStateMachineImpl import net.corda.node.services.statemachine.StateMachineManager import java.util.* class VaultSoftLockManager private constructor(private val vault: VaultService) { companion object { - private val log = loggerFor() + private val log = contextLogger() @JvmStatic fun install(vault: VaultService, smm: StateMachineManager) { val manager = VaultSoftLockManager(vault) diff --git a/node/src/main/kotlin/net/corda/node/shell/InteractiveShell.kt b/node/src/main/kotlin/net/corda/node/shell/InteractiveShell.kt index 9a7bf0630e..9e66fd4195 100644 --- a/node/src/main/kotlin/net/corda/node/shell/InteractiveShell.kt +++ b/node/src/main/kotlin/net/corda/node/shell/InteractiveShell.kt @@ -20,7 +20,6 @@ import net.corda.core.messaging.CordaRPCOps import net.corda.core.messaging.DataFeed import net.corda.core.messaging.StateMachineUpdate import net.corda.core.utilities.getOrThrow -import net.corda.core.utilities.loggerFor import net.corda.node.internal.Node import net.corda.node.internal.StartedNode import net.corda.node.services.messaging.CURRENT_RPC_CONTEXT @@ -48,6 +47,7 @@ import org.crsh.util.Utils import org.crsh.vfs.FS import org.crsh.vfs.spi.file.FileMountFactory import org.crsh.vfs.spi.url.ClassPathMountFactory +import org.slf4j.LoggerFactory import rx.Observable import rx.Subscriber import java.io.* @@ -73,7 +73,7 @@ import kotlin.concurrent.thread // TODO: Make it notice new shell commands added after the node started. object InteractiveShell { - private val log = loggerFor() + private val log = LoggerFactory.getLogger(javaClass) private lateinit var node: StartedNode @VisibleForTesting internal lateinit var database: CordaPersistence diff --git a/node/src/main/kotlin/net/corda/node/utilities/AffinityExecutor.kt b/node/src/main/kotlin/net/corda/node/utilities/AffinityExecutor.kt index 7a188044d1..89c7e68716 100644 --- a/node/src/main/kotlin/net/corda/node/utilities/AffinityExecutor.kt +++ b/node/src/main/kotlin/net/corda/node/utilities/AffinityExecutor.kt @@ -2,7 +2,6 @@ package net.corda.node.utilities import com.google.common.util.concurrent.SettableFuture import com.google.common.util.concurrent.Uninterruptibles -import net.corda.core.utilities.loggerFor import java.util.* import java.util.concurrent.CompletableFuture import java.util.concurrent.Executor @@ -55,10 +54,6 @@ interface AffinityExecutor : Executor { */ open class ServiceAffinityExecutor(threadName: String, numThreads: Int) : AffinityExecutor, ScheduledThreadPoolExecutor(numThreads) { - companion object { - val logger = loggerFor() - } - private val threads = Collections.synchronizedSet(HashSet()) init { diff --git a/node/src/main/kotlin/net/corda/node/utilities/AppendOnlyPersistentMap.kt b/node/src/main/kotlin/net/corda/node/utilities/AppendOnlyPersistentMap.kt index a90f77d171..90f2d018bb 100644 --- a/node/src/main/kotlin/net/corda/node/utilities/AppendOnlyPersistentMap.kt +++ b/node/src/main/kotlin/net/corda/node/utilities/AppendOnlyPersistentMap.kt @@ -1,6 +1,6 @@ package net.corda.node.utilities -import net.corda.core.utilities.loggerFor +import net.corda.core.utilities.contextLogger import java.util.* @@ -18,7 +18,7 @@ class AppendOnlyPersistentMap( ) { //TODO determine cacheBound based on entity class later or with node config allowing tuning, or using some heuristic based on heap size private companion object { - val log = loggerFor>() + private val log = contextLogger() } private val cache = NonInvalidatingCache>( diff --git a/node/src/main/kotlin/net/corda/node/utilities/PersistentMap.kt b/node/src/main/kotlin/net/corda/node/utilities/PersistentMap.kt index 11ace024ef..b0dbd2208b 100644 --- a/node/src/main/kotlin/net/corda/node/utilities/PersistentMap.kt +++ b/node/src/main/kotlin/net/corda/node/utilities/PersistentMap.kt @@ -4,7 +4,7 @@ package net.corda.node.utilities import com.google.common.cache.RemovalCause import com.google.common.cache.RemovalListener import com.google.common.cache.RemovalNotification -import net.corda.core.utilities.loggerFor +import net.corda.core.utilities.contextLogger import java.util.* @@ -19,7 +19,7 @@ class PersistentMap( ) : MutableMap, AbstractMap() { private companion object { - val log = loggerFor>() + private val log = contextLogger() } private val cache = NonInvalidatingUnboundCache( diff --git a/node/src/main/kotlin/net/corda/node/utilities/ServiceIdentityGenerator.kt b/node/src/main/kotlin/net/corda/node/utilities/ServiceIdentityGenerator.kt index 872892161b..051f68c63c 100644 --- a/node/src/main/kotlin/net/corda/node/utilities/ServiceIdentityGenerator.kt +++ b/node/src/main/kotlin/net/corda/node/utilities/ServiceIdentityGenerator.kt @@ -7,13 +7,12 @@ import net.corda.core.identity.Party import net.corda.core.internal.cert import net.corda.core.internal.createDirectories import net.corda.core.internal.div -import net.corda.core.utilities.loggerFor import net.corda.core.utilities.trace +import org.slf4j.LoggerFactory import java.nio.file.Path object ServiceIdentityGenerator { - private val log = loggerFor() - + private val log = LoggerFactory.getLogger(javaClass) /** * Generates signing key pairs and a common distributed service identity for a set of nodes. * The key pairs and the group identity get serialized to disk in the corresponding node directories. diff --git a/samples/bank-of-corda-demo/src/main/kotlin/net/corda/bank/api/BankOfCordaWebApi.kt b/samples/bank-of-corda-demo/src/main/kotlin/net/corda/bank/api/BankOfCordaWebApi.kt index 8180350c74..30614d0cdf 100644 --- a/samples/bank-of-corda-demo/src/main/kotlin/net/corda/bank/api/BankOfCordaWebApi.kt +++ b/samples/bank-of-corda-demo/src/main/kotlin/net/corda/bank/api/BankOfCordaWebApi.kt @@ -5,8 +5,8 @@ import net.corda.core.identity.CordaX500Name import net.corda.core.messaging.CordaRPCOps import net.corda.core.messaging.startFlow import net.corda.core.utilities.OpaqueBytes +import net.corda.core.utilities.contextLogger import net.corda.core.utilities.getOrThrow -import net.corda.core.utilities.loggerFor import net.corda.finance.flows.CashIssueAndPaymentFlow import java.time.LocalDateTime import java.util.* @@ -23,7 +23,7 @@ class BankOfCordaWebApi(val rpc: CordaRPCOps) { val notaryName: CordaX500Name) private companion object { - val logger = loggerFor() + private val logger = contextLogger() } @GET diff --git a/samples/irs-demo/src/integration-test/kotlin/net/corda/irs/IRSDemoTest.kt b/samples/irs-demo/src/integration-test/kotlin/net/corda/irs/IRSDemoTest.kt index ca9b841d9f..d924e41287 100644 --- a/samples/irs-demo/src/integration-test/kotlin/net/corda/irs/IRSDemoTest.kt +++ b/samples/irs-demo/src/integration-test/kotlin/net/corda/irs/IRSDemoTest.kt @@ -14,8 +14,8 @@ import net.corda.core.contracts.UniqueIdentifier import net.corda.core.identity.Party import net.corda.core.messaging.vaultTrackBy import net.corda.core.toFuture +import net.corda.core.utilities.contextLogger import net.corda.core.utilities.getOrThrow -import net.corda.core.utilities.loggerFor import net.corda.core.utilities.seconds import net.corda.finance.plugin.registerFinanceJSONMappers import net.corda.irs.contract.InterestRateSwap @@ -35,7 +35,7 @@ import java.time.LocalDate class IRSDemoTest { companion object { - val log = loggerFor() + private val log = contextLogger() } private val rpcUsers = listOf(User("user", "password", setOf("ALL"))) diff --git a/samples/irs-demo/src/integration-test/kotlin/net/corda/test/spring/SpringDriver.kt b/samples/irs-demo/src/integration-test/kotlin/net/corda/test/spring/SpringDriver.kt index 204e981c70..4de01a0d78 100644 --- a/samples/irs-demo/src/integration-test/kotlin/net/corda/test/spring/SpringDriver.kt +++ b/samples/irs-demo/src/integration-test/kotlin/net/corda/test/spring/SpringDriver.kt @@ -2,7 +2,7 @@ package net.corda.test.spring import net.corda.core.concurrent.CordaFuture import net.corda.core.internal.concurrent.map -import net.corda.core.utilities.loggerFor +import net.corda.core.utilities.contextLogger import net.corda.testing.driver.* import net.corda.testing.internal.ProcessUtilities import net.corda.testing.node.NotarySpec @@ -61,7 +61,7 @@ fun springDriver( data class SpringBootDriverDSL(private val driverDSL: DriverDSL) : DriverDSLInternalInterface by driverDSL, SpringDriverInternalDSLInterface { companion object { - val log = loggerFor() + private val log = contextLogger() } override fun startSpringBootWebapp(clazz: Class<*>, handle: NodeHandle, checkUrl: String): CordaFuture { diff --git a/samples/irs-demo/web/src/main/kotlin/net/corda/irs/web/api/InterestSwapRestAPI.kt b/samples/irs-demo/web/src/main/kotlin/net/corda/irs/web/api/InterestSwapRestAPI.kt index 1c1a564d19..f242edace4 100644 --- a/samples/irs-demo/web/src/main/kotlin/net/corda/irs/web/api/InterestSwapRestAPI.kt +++ b/samples/irs-demo/web/src/main/kotlin/net/corda/irs/web/api/InterestSwapRestAPI.kt @@ -4,8 +4,8 @@ import net.corda.core.contracts.filterStatesOfType import net.corda.core.messaging.CordaRPCOps import net.corda.core.messaging.startFlow import net.corda.core.messaging.vaultQueryBy +import net.corda.core.utilities.contextLogger import net.corda.core.utilities.getOrThrow -import net.corda.core.utilities.loggerFor import net.corda.irs.contract.InterestRateSwap import org.springframework.beans.factory.annotation.Autowired import org.springframework.web.bind.annotation.* @@ -33,8 +33,9 @@ import net.corda.irs.flows.AutoOfferFlow @RestController @RequestMapping("/api/irs") class InterestRateSwapAPI { - - private val logger = loggerFor() + companion object { + private val logger = contextLogger() + } private fun generateDealLink(deal: InterestRateSwap.State) = "/api/irs/deals/" + deal.common.tradeID diff --git a/samples/irs-demo/web/src/test/kotlin/net/corda/irs/web/api/InterestRatesSwapDemoAPI.kt b/samples/irs-demo/web/src/test/kotlin/net/corda/irs/web/api/InterestRatesSwapDemoAPI.kt index 6a54266e28..c66ab8ec2d 100644 --- a/samples/irs-demo/web/src/test/kotlin/net/corda/irs/web/api/InterestRatesSwapDemoAPI.kt +++ b/samples/irs-demo/web/src/test/kotlin/net/corda/irs/web/api/InterestRatesSwapDemoAPI.kt @@ -2,8 +2,8 @@ package net.corda.irs.web.api import net.corda.core.messaging.CordaRPCOps import net.corda.core.messaging.startFlow +import net.corda.core.utilities.contextLogger import net.corda.core.utilities.getOrThrow -import net.corda.core.utilities.loggerFor import net.corda.irs.api.NodeInterestRates import net.corda.irs.flows.UpdateBusinessDayFlow import org.springframework.beans.factory.annotation.Autowired @@ -23,7 +23,7 @@ import java.time.ZoneId @RequestMapping("/api/irs") class InterestRatesSwapDemoAPI { companion object { - private val logger = loggerFor() + private val logger = contextLogger() } @Autowired diff --git a/samples/simm-valuation-demo/src/main/kotlin/net/corda/vega/analytics/AnalyticsEngine.kt b/samples/simm-valuation-demo/src/main/kotlin/net/corda/vega/analytics/AnalyticsEngine.kt index a0bea3ea32..009049f754 100644 --- a/samples/simm-valuation-demo/src/main/kotlin/net/corda/vega/analytics/AnalyticsEngine.kt +++ b/samples/simm-valuation-demo/src/main/kotlin/net/corda/vega/analytics/AnalyticsEngine.kt @@ -16,7 +16,7 @@ import com.opengamma.strata.market.param.CurrencyParameterSensitivities import com.opengamma.strata.pricer.rate.ImmutableRatesProvider import com.opengamma.strata.pricer.swap.DiscountingSwapProductPricer import com.opengamma.strata.product.swap.ResolvedSwapTrade -import net.corda.core.utilities.loggerFor +import net.corda.core.utilities.contextLogger import net.corda.vega.flows.toCordaCompatible import java.time.LocalDate @@ -63,7 +63,7 @@ abstract class AnalyticsEngine { class OGSIMMAnalyticsEngine : AnalyticsEngine() { private companion object { - val log = loggerFor() + private val log = contextLogger() } override fun curveGroup(): CurveGroupDefinition { diff --git a/samples/trader-demo/src/main/kotlin/net/corda/traderdemo/TraderDemo.kt b/samples/trader-demo/src/main/kotlin/net/corda/traderdemo/TraderDemo.kt index 43c82f5565..e519481e3a 100644 --- a/samples/trader-demo/src/main/kotlin/net/corda/traderdemo/TraderDemo.kt +++ b/samples/trader-demo/src/main/kotlin/net/corda/traderdemo/TraderDemo.kt @@ -3,11 +3,10 @@ package net.corda.traderdemo import joptsimple.OptionParser import net.corda.client.rpc.CordaRPCClient import net.corda.core.utilities.NetworkHostAndPort -import net.corda.core.utilities.loggerFor +import net.corda.core.utilities.contextLogger import net.corda.finance.DOLLARS import net.corda.testing.DUMMY_BANK_A import net.corda.testing.DUMMY_BANK_B -import org.slf4j.Logger import kotlin.system.exitProcess /** @@ -24,7 +23,7 @@ private class TraderDemo { } companion object { - val logger: Logger = loggerFor() + private val logger = contextLogger() val buyerName = DUMMY_BANK_A.name val sellerName = DUMMY_BANK_B.name val sellerRpcPort = 10009 diff --git a/testing/node-driver/src/main/kotlin/net/corda/testing/driver/ShutdownManager.kt b/testing/node-driver/src/main/kotlin/net/corda/testing/driver/ShutdownManager.kt index 9ca4875c4c..0e8752aeb6 100644 --- a/testing/node-driver/src/main/kotlin/net/corda/testing/driver/ShutdownManager.kt +++ b/testing/node-driver/src/main/kotlin/net/corda/testing/driver/ShutdownManager.kt @@ -3,10 +3,7 @@ package net.corda.testing.driver import net.corda.core.concurrent.CordaFuture import net.corda.core.internal.ThreadBox import net.corda.core.internal.concurrent.doneFuture -import net.corda.core.utilities.Try -import net.corda.core.utilities.getOrThrow -import net.corda.core.utilities.loggerFor -import net.corda.core.utilities.seconds +import net.corda.core.utilities.* import java.util.concurrent.ExecutorService import java.util.concurrent.Executors import java.util.concurrent.TimeoutException @@ -21,8 +18,7 @@ class ShutdownManager(private val executorService: ExecutorService) { private val state = ThreadBox(State()) companion object { - private val log = loggerFor() - + private val log = contextLogger() inline fun run(providedExecutorService: ExecutorService? = null, block: ShutdownManager.() -> A): A { val executorService = providedExecutorService ?: Executors.newScheduledThreadPool(1) val shutdownManager = ShutdownManager(executorService) diff --git a/testing/node-driver/src/main/kotlin/net/corda/testing/node/MockNode.kt b/testing/node-driver/src/main/kotlin/net/corda/testing/node/MockNode.kt index 588eed3711..7aed47e4c6 100644 --- a/testing/node-driver/src/main/kotlin/net/corda/testing/node/MockNode.kt +++ b/testing/node-driver/src/main/kotlin/net/corda/testing/node/MockNode.kt @@ -20,8 +20,8 @@ import net.corda.core.node.services.IdentityService import net.corda.core.node.services.KeyManagementService import net.corda.core.serialization.SerializationWhitelist import net.corda.core.utilities.NetworkHostAndPort +import net.corda.core.utilities.contextLogger import net.corda.core.utilities.getOrThrow -import net.corda.core.utilities.loggerFor import net.corda.node.internal.AbstractNode import net.corda.node.internal.StartedNode import net.corda.node.internal.cordapp.CordappLoader @@ -43,7 +43,6 @@ import net.corda.testing.node.MockServices.Companion.makeTestDataSourcePropertie import net.corda.testing.setGlobalSerialization import net.corda.testing.testNodeConfiguration import org.apache.activemq.artemis.utils.ReusableLatch -import org.slf4j.Logger import java.io.Closeable import java.math.BigInteger import java.nio.file.Path @@ -214,13 +213,15 @@ class MockNetwork(defaultParameters: MockNetworkParameters = MockNetworkParamete CordappLoader.createDefaultWithTestPackages(args.config, args.network.cordappPackages), args.network.busyLatch ) { + companion object { + private val staticLog = contextLogger() + } + val mockNet = args.network val id = args.id private val entropyRoot = args.entropyRoot var counter = entropyRoot - - override val log: Logger = loggerFor() - + override val log get() = staticLog override val serverThread: AffinityExecutor = if (mockNet.threadPerNode) { ServiceAffinityExecutor("Mock node $id thread", 1) diff --git a/testing/smoke-test-utils/src/main/kotlin/net/corda/smoketesting/NodeProcess.kt b/testing/smoke-test-utils/src/main/kotlin/net/corda/smoketesting/NodeProcess.kt index 34c5a9d8cc..b6656977b7 100644 --- a/testing/smoke-test-utils/src/main/kotlin/net/corda/smoketesting/NodeProcess.kt +++ b/testing/smoke-test-utils/src/main/kotlin/net/corda/smoketesting/NodeProcess.kt @@ -6,7 +6,7 @@ import net.corda.core.internal.copyTo import net.corda.core.internal.createDirectories import net.corda.core.internal.div import net.corda.core.utilities.NetworkHostAndPort -import net.corda.core.utilities.loggerFor +import net.corda.core.utilities.contextLogger import java.nio.file.Path import java.nio.file.Paths import java.time.Instant @@ -22,7 +22,7 @@ class NodeProcess( private val client: CordaRPCClient ) : AutoCloseable { private companion object { - val log = loggerFor() + private val log = contextLogger() } fun connect(): CordaRPCConnection { diff --git a/testing/test-utils/src/main/kotlin/net/corda/testing/http/HttpUtils.kt b/testing/test-utils/src/main/kotlin/net/corda/testing/http/HttpUtils.kt index b07d55db86..327f85193b 100644 --- a/testing/test-utils/src/main/kotlin/net/corda/testing/http/HttpUtils.kt +++ b/testing/test-utils/src/main/kotlin/net/corda/testing/http/HttpUtils.kt @@ -1,11 +1,11 @@ package net.corda.testing.http import com.fasterxml.jackson.databind.ObjectMapper -import net.corda.core.utilities.loggerFor import okhttp3.MediaType import okhttp3.OkHttpClient import okhttp3.Request import okhttp3.RequestBody +import org.slf4j.LoggerFactory import java.net.URL import java.util.concurrent.TimeUnit @@ -13,7 +13,7 @@ import java.util.concurrent.TimeUnit * A small set of utilities for making HttpCalls, aimed at demos and tests. */ object HttpUtils { - private val logger = loggerFor() + private val logger = LoggerFactory.getLogger(javaClass) private val client by lazy { OkHttpClient.Builder() .connectTimeout(5, TimeUnit.SECONDS) diff --git a/tools/demobench/src/main/kotlin/net/corda/demobench/explorer/Explorer.kt b/tools/demobench/src/main/kotlin/net/corda/demobench/explorer/Explorer.kt index 286ad1e4c6..3c4aaebe84 100644 --- a/tools/demobench/src/main/kotlin/net/corda/demobench/explorer/Explorer.kt +++ b/tools/demobench/src/main/kotlin/net/corda/demobench/explorer/Explorer.kt @@ -3,7 +3,7 @@ package net.corda.demobench.explorer import net.corda.core.internal.createDirectories import net.corda.core.internal.div import net.corda.core.internal.list -import net.corda.core.utilities.loggerFor +import net.corda.core.utilities.contextLogger import net.corda.demobench.model.JVMConfig import net.corda.demobench.model.NodeConfig import net.corda.demobench.model.NodeConfigWrapper @@ -16,7 +16,7 @@ import java.util.concurrent.Executors class Explorer internal constructor(private val explorerController: ExplorerController) : AutoCloseable { private companion object { - val log = loggerFor() + private val log = contextLogger() } private val executor = Executors.newSingleThreadExecutor() diff --git a/tools/demobench/src/main/kotlin/net/corda/demobench/pty/R3Pty.kt b/tools/demobench/src/main/kotlin/net/corda/demobench/pty/R3Pty.kt index cd82181367..fff015a4f2 100644 --- a/tools/demobench/src/main/kotlin/net/corda/demobench/pty/R3Pty.kt +++ b/tools/demobench/src/main/kotlin/net/corda/demobench/pty/R3Pty.kt @@ -5,7 +5,7 @@ import com.jediterm.terminal.ui.UIUtil import com.jediterm.terminal.ui.settings.SettingsProvider import com.pty4j.PtyProcess import net.corda.core.identity.CordaX500Name -import net.corda.core.utilities.loggerFor +import net.corda.core.utilities.contextLogger import java.awt.Dimension import java.io.IOException import java.nio.charset.StandardCharsets.UTF_8 @@ -14,7 +14,7 @@ import java.util.concurrent.TimeUnit.SECONDS class R3Pty(val name: CordaX500Name, settings: SettingsProvider, dimension: Dimension, val onExit: (Int) -> Unit) : AutoCloseable { private companion object { - val log = loggerFor() + private val log = contextLogger() } private val executor = Executors.newSingleThreadExecutor() diff --git a/tools/demobench/src/main/kotlin/net/corda/demobench/rpc/NodeRPC.kt b/tools/demobench/src/main/kotlin/net/corda/demobench/rpc/NodeRPC.kt index a92dbd4a3d..c07dd6cef6 100644 --- a/tools/demobench/src/main/kotlin/net/corda/demobench/rpc/NodeRPC.kt +++ b/tools/demobench/src/main/kotlin/net/corda/demobench/rpc/NodeRPC.kt @@ -4,14 +4,14 @@ import net.corda.client.rpc.CordaRPCClient import net.corda.client.rpc.CordaRPCConnection import net.corda.core.messaging.CordaRPCOps import net.corda.core.utilities.NetworkHostAndPort -import net.corda.core.utilities.loggerFor +import net.corda.core.utilities.contextLogger import net.corda.demobench.model.NodeConfigWrapper import java.util.* import java.util.concurrent.TimeUnit.SECONDS class NodeRPC(config: NodeConfigWrapper, start: (NodeConfigWrapper, CordaRPCOps) -> Unit, invoke: (CordaRPCOps) -> Unit) : AutoCloseable { private companion object { - val log = loggerFor() + private val log = contextLogger() val oneSecond = SECONDS.toMillis(1) } diff --git a/tools/demobench/src/main/kotlin/net/corda/demobench/web/DBViewer.kt b/tools/demobench/src/main/kotlin/net/corda/demobench/web/DBViewer.kt index 01cd406252..94908d6a31 100644 --- a/tools/demobench/src/main/kotlin/net/corda/demobench/web/DBViewer.kt +++ b/tools/demobench/src/main/kotlin/net/corda/demobench/web/DBViewer.kt @@ -1,6 +1,6 @@ package net.corda.demobench.web -import net.corda.core.utilities.loggerFor +import net.corda.core.utilities.contextLogger import org.h2.Driver import org.h2.server.web.LocalWebServer import org.h2.tools.Server @@ -11,7 +11,7 @@ import kotlin.reflect.jvm.jvmName class DBViewer : AutoCloseable { private companion object { - val log = loggerFor() + private val log = contextLogger() } private val webServer: Server diff --git a/tools/demobench/src/main/kotlin/net/corda/demobench/web/WebServer.kt b/tools/demobench/src/main/kotlin/net/corda/demobench/web/WebServer.kt index 5fe5f96fe1..f3bfefdd17 100644 --- a/tools/demobench/src/main/kotlin/net/corda/demobench/web/WebServer.kt +++ b/tools/demobench/src/main/kotlin/net/corda/demobench/web/WebServer.kt @@ -4,7 +4,7 @@ import com.google.common.util.concurrent.RateLimiter import net.corda.core.concurrent.CordaFuture import net.corda.core.internal.concurrent.openFuture import net.corda.core.internal.until -import net.corda.core.utilities.loggerFor +import net.corda.core.utilities.contextLogger import net.corda.core.utilities.minutes import net.corda.demobench.model.NodeConfigWrapper import net.corda.demobench.readErrorLines @@ -18,7 +18,7 @@ import kotlin.concurrent.thread class WebServer internal constructor(private val webServerController: WebServerController) : AutoCloseable { private companion object { - val log = loggerFor() + private val log = contextLogger() } private val executor = Executors.newSingleThreadExecutor() diff --git a/tools/explorer/src/main/kotlin/net/corda/explorer/ExplorerSimulation.kt b/tools/explorer/src/main/kotlin/net/corda/explorer/ExplorerSimulation.kt index 1e3d0a2707..ee1495ebd6 100644 --- a/tools/explorer/src/main/kotlin/net/corda/explorer/ExplorerSimulation.kt +++ b/tools/explorer/src/main/kotlin/net/corda/explorer/ExplorerSimulation.kt @@ -124,7 +124,7 @@ class ExplorerSimulation(private val options: OptionSet) { fun FlowHandle.log(seq: Int, name: String) { val out = "[$seq] $name $id :" returnValue.thenMatch({ (stx) -> - Main.log.info("$out ${stx.id} ${(stx.tx.outputs.first().data as Cash.State).amount}") + Main.log.info("$out ${stx.id} ${(stx.tx.outputs.first().data as Cash.State).amount}") // XXX: Why Main's log? }, { Main.log.info("$out ${it.message}") }) diff --git a/tools/explorer/src/main/kotlin/net/corda/explorer/Main.kt b/tools/explorer/src/main/kotlin/net/corda/explorer/Main.kt index 01346891aa..7e3f7fe7d0 100644 --- a/tools/explorer/src/main/kotlin/net/corda/explorer/Main.kt +++ b/tools/explorer/src/main/kotlin/net/corda/explorer/Main.kt @@ -11,7 +11,7 @@ import jfxtras.resources.JFXtrasFontRoboto import joptsimple.OptionParser import net.corda.client.jfx.model.Models import net.corda.client.jfx.model.observableValue -import net.corda.core.utilities.loggerFor +import net.corda.core.utilities.contextLogger import net.corda.explorer.model.CordaViewModel import net.corda.explorer.model.SettingsModel import net.corda.explorer.views.* @@ -30,7 +30,7 @@ class Main : App(MainView::class) { private val fullscreen by observableValue(SettingsModel::fullscreenProperty) companion object { - val log = loggerFor
() + internal val log = contextLogger() } override fun start(stage: Stage) { diff --git a/tools/loadtest/src/main/kotlin/net/corda/loadtest/ConnectionManager.kt b/tools/loadtest/src/main/kotlin/net/corda/loadtest/ConnectionManager.kt index fe3e4fc621..8e8cd14e0f 100644 --- a/tools/loadtest/src/main/kotlin/net/corda/loadtest/ConnectionManager.kt +++ b/tools/loadtest/src/main/kotlin/net/corda/loadtest/ConnectionManager.kt @@ -8,12 +8,12 @@ import com.jcraft.jsch.agentproxy.AgentProxy import com.jcraft.jsch.agentproxy.connector.SSHAgentConnector import com.jcraft.jsch.agentproxy.usocket.JNAUSocketFactory import net.corda.core.utilities.NetworkHostAndPort +import net.corda.core.utilities.loggerFor import net.corda.testing.driver.PortAllocation -import org.slf4j.LoggerFactory import java.util.* import kotlin.streams.toList -private val log = LoggerFactory.getLogger(ConnectionManager::class.java) +private val log = loggerFor() /** * Creates a new [JSch] instance with identities loaded from the running SSH agent. diff --git a/tools/loadtest/src/main/kotlin/net/corda/loadtest/Disruption.kt b/tools/loadtest/src/main/kotlin/net/corda/loadtest/Disruption.kt index b704f50acd..e70a1f6621 100644 --- a/tools/loadtest/src/main/kotlin/net/corda/loadtest/Disruption.kt +++ b/tools/loadtest/src/main/kotlin/net/corda/loadtest/Disruption.kt @@ -1,12 +1,13 @@ package net.corda.loadtest import net.corda.client.mock.* +import net.corda.core.utilities.loggerFor import org.slf4j.LoggerFactory import java.util.* import java.util.concurrent.Callable import java.util.concurrent.Executors -private val log = LoggerFactory.getLogger(Disruption::class.java) +private val log = loggerFor() /** * A [Disruption] puts strain on the passed in node in some way. Each disruption runs in its own thread in a tight loop diff --git a/tools/loadtest/src/main/kotlin/net/corda/loadtest/LoadTest.kt b/tools/loadtest/src/main/kotlin/net/corda/loadtest/LoadTest.kt index ed88325174..62fd304866 100644 --- a/tools/loadtest/src/main/kotlin/net/corda/loadtest/LoadTest.kt +++ b/tools/loadtest/src/main/kotlin/net/corda/loadtest/LoadTest.kt @@ -2,15 +2,15 @@ package net.corda.loadtest import com.google.common.util.concurrent.RateLimiter import net.corda.client.mock.Generator +import net.corda.core.utilities.loggerFor import net.corda.core.utilities.toBase58String import net.corda.testing.driver.PortAllocation -import org.slf4j.LoggerFactory import java.util.* import java.util.concurrent.Callable import java.util.concurrent.ConcurrentHashMap import java.util.concurrent.Executors -private val log = LoggerFactory.getLogger(LoadTest::class.java) +private val log = loggerFor>() /** * @param T The type of generated object in the load test. This should describe the basic unit of execution, for example diff --git a/tools/loadtest/src/main/kotlin/net/corda/loadtest/NodeConnection.kt b/tools/loadtest/src/main/kotlin/net/corda/loadtest/NodeConnection.kt index 9406fe0dad..620cc92d99 100644 --- a/tools/loadtest/src/main/kotlin/net/corda/loadtest/NodeConnection.kt +++ b/tools/loadtest/src/main/kotlin/net/corda/loadtest/NodeConnection.kt @@ -11,7 +11,7 @@ import net.corda.core.internal.concurrent.fork import net.corda.core.messaging.CordaRPCOps import net.corda.core.node.NodeInfo import net.corda.core.utilities.NetworkHostAndPort -import net.corda.core.utilities.loggerFor +import net.corda.core.utilities.contextLogger import net.corda.nodeapi.internal.addShutdownHook import java.io.ByteArrayOutputStream import java.io.Closeable @@ -27,7 +27,7 @@ import java.util.concurrent.ForkJoinPool */ class NodeConnection(val remoteNode: RemoteNode, private val jSchSession: Session, private val localTunnelAddress: NetworkHostAndPort) : Closeable { companion object { - val log = loggerFor() + private val log = contextLogger() } init { diff --git a/tools/loadtest/src/main/kotlin/net/corda/loadtest/tests/StabilityTest.kt b/tools/loadtest/src/main/kotlin/net/corda/loadtest/tests/StabilityTest.kt index 66379f6e16..e3460316cc 100644 --- a/tools/loadtest/src/main/kotlin/net/corda/loadtest/tests/StabilityTest.kt +++ b/tools/loadtest/src/main/kotlin/net/corda/loadtest/tests/StabilityTest.kt @@ -7,7 +7,6 @@ import net.corda.core.internal.concurrent.thenMatch import net.corda.core.messaging.startFlow import net.corda.core.utilities.OpaqueBytes import net.corda.core.utilities.getOrThrow -import net.corda.core.utilities.loggerFor import net.corda.finance.USD import net.corda.finance.flows.CashExitFlow import net.corda.finance.flows.CashExitFlow.ExitRequest @@ -16,10 +15,10 @@ import net.corda.finance.flows.CashIssueAndPaymentFlow.IssueAndPaymentRequest import net.corda.finance.flows.CashPaymentFlow import net.corda.finance.flows.CashPaymentFlow.PaymentRequest import net.corda.loadtest.LoadTest - +import org.slf4j.LoggerFactory object StabilityTest { - private val log = loggerFor() + private val log = LoggerFactory.getLogger(javaClass) fun crossCashTest(replication: Int) = LoadTest( "Creating Cash transactions", generate = { _, _ -> diff --git a/verifier/src/integration-test/kotlin/net/corda/verifier/VerifierDriver.kt b/verifier/src/integration-test/kotlin/net/corda/verifier/VerifierDriver.kt index 1a53162b8b..bb4099000c 100644 --- a/verifier/src/integration-test/kotlin/net/corda/verifier/VerifierDriver.kt +++ b/verifier/src/integration-test/kotlin/net/corda/verifier/VerifierDriver.kt @@ -14,7 +14,7 @@ import net.corda.core.internal.div import net.corda.core.serialization.internal.nodeSerializationEnv import net.corda.core.transactions.LedgerTransaction import net.corda.core.utilities.NetworkHostAndPort -import net.corda.core.utilities.loggerFor +import net.corda.core.utilities.contextLogger import net.corda.node.services.config.configureDevKeyAndTrustStores import net.corda.nodeapi.internal.ArtemisMessagingComponent.Companion.NODE_USER import net.corda.nodeapi.ArtemisTcpTransport @@ -149,7 +149,7 @@ data class VerifierDriverDSL( val verifierCount = AtomicInteger(0) companion object { - private val log = loggerFor() + private val log = contextLogger() fun createConfiguration(baseDirectory: Path, nodeHostAndPort: NetworkHostAndPort): Config { return ConfigFactory.parseMap( mapOf( diff --git a/verifier/src/main/kotlin/net/corda/verifier/Verifier.kt b/verifier/src/main/kotlin/net/corda/verifier/Verifier.kt index dea5bdcadf..7c04bf1ce9 100644 --- a/verifier/src/main/kotlin/net/corda/verifier/Verifier.kt +++ b/verifier/src/main/kotlin/net/corda/verifier/Verifier.kt @@ -7,10 +7,7 @@ import net.corda.core.internal.div import net.corda.core.serialization.SerializationContext import net.corda.core.serialization.internal.SerializationEnvironmentImpl import net.corda.core.serialization.internal.nodeSerializationEnv -import net.corda.core.utilities.ByteSequence -import net.corda.core.utilities.NetworkHostAndPort -import net.corda.core.utilities.debug -import net.corda.core.utilities.loggerFor +import net.corda.core.utilities.* import net.corda.nodeapi.ArtemisTcpTransport.Companion.tcpTransport import net.corda.nodeapi.ConnectionDirection import net.corda.nodeapi.VerifierApi @@ -39,8 +36,7 @@ data class VerifierConfiguration( class Verifier { companion object { - private val log = loggerFor() - + private val log = contextLogger() fun loadConfiguration(baseDirectory: Path, configPath: Path): VerifierConfiguration { val defaultConfig = ConfigFactory.parseResources("verifier-reference.conf", ConfigParseOptions.defaults().setAllowMissing(false)) val customConfig = ConfigFactory.parseFile(configPath.toFile(), ConfigParseOptions.defaults().setAllowMissing(false)) diff --git a/webserver/src/main/kotlin/net/corda/webserver/WebArgsParser.kt b/webserver/src/main/kotlin/net/corda/webserver/WebArgsParser.kt index 718678bb73..868ee24d18 100644 --- a/webserver/src/main/kotlin/net/corda/webserver/WebArgsParser.kt +++ b/webserver/src/main/kotlin/net/corda/webserver/WebArgsParser.kt @@ -75,7 +75,7 @@ data class CmdLineOptions(val baseDirectory: Path, .withFallback(appConfig) .withFallback(defaultConfig) .resolve() - val log = loggerFor() + val log = loggerFor() // I guess this is lazy so it happens after logging init. log.info("Config:\n${finalConfig.root().render(ConfigRenderOptions.defaults())}") return finalConfig } diff --git a/webserver/src/main/kotlin/net/corda/webserver/internal/AllExceptionMapper.kt b/webserver/src/main/kotlin/net/corda/webserver/internal/AllExceptionMapper.kt index 3a8687fcf5..3530b74e56 100644 --- a/webserver/src/main/kotlin/net/corda/webserver/internal/AllExceptionMapper.kt +++ b/webserver/src/main/kotlin/net/corda/webserver/internal/AllExceptionMapper.kt @@ -9,7 +9,7 @@ import javax.ws.rs.ext.Provider @Provider class AllExceptionMapper : ExceptionMapper { companion object { - val logger = loggerFor() + private val logger = loggerFor() // XXX: Really? } override fun toResponse(exception: Exception?): Response { diff --git a/webserver/src/main/kotlin/net/corda/webserver/internal/NodeWebServer.kt b/webserver/src/main/kotlin/net/corda/webserver/internal/NodeWebServer.kt index 8d5bf05a03..46bdf5a7ef 100644 --- a/webserver/src/main/kotlin/net/corda/webserver/internal/NodeWebServer.kt +++ b/webserver/src/main/kotlin/net/corda/webserver/internal/NodeWebServer.kt @@ -4,7 +4,7 @@ import com.google.common.html.HtmlEscapers.htmlEscaper import net.corda.client.jackson.JacksonSupport import net.corda.client.rpc.CordaRPCClient import net.corda.core.messaging.CordaRPCOps -import net.corda.core.utilities.loggerFor +import net.corda.core.utilities.contextLogger import net.corda.webserver.WebServerConfig import net.corda.webserver.converters.CordaConverterProvider import net.corda.webserver.services.WebServerPluginRegistry @@ -32,7 +32,7 @@ import javax.ws.rs.core.MediaType class NodeWebServer(val config: WebServerConfig) { private companion object { - val log = loggerFor() + private val log = contextLogger() const val retryDelay = 1000L // Milliseconds } diff --git a/webserver/src/main/kotlin/net/corda/webserver/servlets/AttachmentDownloadServlet.kt b/webserver/src/main/kotlin/net/corda/webserver/servlets/AttachmentDownloadServlet.kt index e23d420059..e76d6633d2 100644 --- a/webserver/src/main/kotlin/net/corda/webserver/servlets/AttachmentDownloadServlet.kt +++ b/webserver/src/main/kotlin/net/corda/webserver/servlets/AttachmentDownloadServlet.kt @@ -3,7 +3,7 @@ package net.corda.webserver.servlets import net.corda.core.internal.extractFile import net.corda.core.crypto.SecureHash import net.corda.core.messaging.CordaRPCOps -import net.corda.core.utilities.loggerFor +import net.corda.core.utilities.contextLogger import java.io.FileNotFoundException import java.io.IOException import java.util.jar.JarInputStream @@ -25,7 +25,9 @@ import javax.ws.rs.core.MediaType * TODO: Provide an endpoint that exposes attachment file listings, to make attachments browsable. */ class AttachmentDownloadServlet : HttpServlet() { - private val log = loggerFor() + companion object { + private val log = contextLogger() + } @Throws(IOException::class) override fun doGet(req: HttpServletRequest, resp: HttpServletResponse) { diff --git a/webserver/src/main/kotlin/net/corda/webserver/servlets/DataUploadServlet.kt b/webserver/src/main/kotlin/net/corda/webserver/servlets/DataUploadServlet.kt index e2c4c49e3d..d860d5d5a5 100644 --- a/webserver/src/main/kotlin/net/corda/webserver/servlets/DataUploadServlet.kt +++ b/webserver/src/main/kotlin/net/corda/webserver/servlets/DataUploadServlet.kt @@ -1,7 +1,7 @@ package net.corda.webserver.servlets import net.corda.core.messaging.CordaRPCOps -import net.corda.core.utilities.loggerFor +import net.corda.core.utilities.contextLogger import org.apache.commons.fileupload.servlet.ServletFileUpload import java.io.IOException import java.util.* @@ -13,7 +13,9 @@ import javax.servlet.http.HttpServletResponse * Uploads to the node via the [CordaRPCOps] uploadFile interface. */ class DataUploadServlet : HttpServlet() { - private val log = loggerFor() + companion object { + private val log = contextLogger() + } @Throws(IOException::class) override fun doPost(req: HttpServletRequest, resp: HttpServletResponse) {