diff --git a/src/main/kotlin/io/emeraldpay/dshackle/rpc/BlockchainRpc.kt b/src/main/kotlin/io/emeraldpay/dshackle/rpc/BlockchainRpc.kt index c9f048ee..2f0b3a3d 100644 --- a/src/main/kotlin/io/emeraldpay/dshackle/rpc/BlockchainRpc.kt +++ b/src/main/kotlin/io/emeraldpay/dshackle/rpc/BlockchainRpc.kt @@ -227,11 +227,17 @@ class BlockchainRpc( return request.flatMapMany { val subId = it.traceId.takeIf { it.isNotBlank() } ?: RandomStringUtils.randomAlphanumeric(8) subscribeNodeStatus.subscribe(it).subscribeOn(scheduler) - .doOnError { failMetric.increment() } - .doOnNext { + .doOnError { err -> + log.error("Error during processing node subscription [$subId], closing", err) + failMetric.increment() + } + .doFinally { sig -> + log.info("Closing node status subscription named $subId with $sig") + } + .doOnNext { elem -> log.debug( "Emitted next node status to [$subId] with data [${ - JsonFormat.printer().omittingInsignificantWhitespace().print(it) + JsonFormat.printer().omittingInsignificantWhitespace().print(elem) }]" ) }