mirror of
https://github.com/bisq-network/bisq.git
synced 2025-02-23 23:06:39 +01:00
Silence NioClient and NioClientManager loggers
This commit is contained in:
parent
65177fcc4c
commit
08cd31b242
1 changed files with 29 additions and 0 deletions
|
@ -7,6 +7,7 @@ import org.bitcoinj.core.PeerAddress;
|
|||
import org.bitcoinj.core.VersionMessage;
|
||||
import org.bitcoinj.core.listeners.PeerDisconnectedEventListener;
|
||||
import org.bitcoinj.net.NioClient;
|
||||
import org.bitcoinj.net.NioClientManager;
|
||||
import org.bitcoinj.params.MainNetParams;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
@ -31,6 +32,8 @@ import java.util.concurrent.ExecutionException;
|
|||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import ch.qos.logback.classic.Level;
|
||||
|
||||
/**
|
||||
* Detects whether a Bitcoin node is running on localhost and whether it is well configured
|
||||
* (meaning it's not pruning and has bloom filters enabled). The class is split into
|
||||
|
@ -195,7 +198,15 @@ public class LocalBitcoinNode {
|
|||
return Optional.empty();
|
||||
}
|
||||
|
||||
/* We temporarily silence BitcoinJ NioClient's and NioClientManager's loggers,
|
||||
* because when a local Bitcoin node is not found they pollute console output
|
||||
* with "connection refused" error messages.
|
||||
*/
|
||||
var originalNioClientLoggerLevel = silence(NioClient.class);
|
||||
var originalNioClientManagerLoggerLevel = silence(NioClientManager.class);
|
||||
|
||||
NioClient client;
|
||||
|
||||
try {
|
||||
log.info("Initiating attempt to connect to and handshake with a local "
|
||||
+ "Bitcoin node (which may or may not be running) on port {}.",
|
||||
|
@ -221,9 +232,27 @@ public class LocalBitcoinNode {
|
|||
peer.close();
|
||||
client.closeConnection();
|
||||
|
||||
restoreLoggerLevel(NioClient.class, originalNioClientLoggerLevel);
|
||||
restoreLoggerLevel(NioClientManager.class, originalNioClientManagerLoggerLevel);
|
||||
|
||||
return optionalPeerVersionMessage;
|
||||
}
|
||||
|
||||
private static Level silence(Class klass) {
|
||||
var logger = getLogger(klass);
|
||||
var originalLevel = logger.getLevel();
|
||||
logger.setLevel(Level.OFF);
|
||||
return originalLevel;
|
||||
}
|
||||
|
||||
private static void restoreLoggerLevel(Class klass, Level originalLevel) {
|
||||
getLogger(klass).setLevel(originalLevel);
|
||||
}
|
||||
|
||||
private static ch.qos.logback.classic.Logger getLogger(Class klass) {
|
||||
return (ch.qos.logback.classic.Logger) LoggerFactory.getLogger(klass);
|
||||
}
|
||||
|
||||
private ListenableFuture<VersionMessage> getVersionMessage(Peer peer) {
|
||||
SettableFuture<VersionMessage> peerVersionMessageFuture = SettableFuture.create();
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue