From 878e16545d3532813e9551608ea879651429a96d Mon Sep 17 00:00:00 2001 From: cdimauro Date: Thu, 29 Jul 2021 07:34:21 +0200 Subject: [PATCH] Suppress additional logs for pairs in blacklist Every time that there's freqtrade "ticks", pairs in the blacklist are checked and a warning message is displayed. So, the logs are continuously flooded with the same warnings. For example: 2021-07-26 06:24:45 freqtrade.plugins.pairlistmanager: WARNING - Pair XTZUP/USDT in your blacklist. Removing it from whitelist... 2021-07-26 06:24:45 freqtrade.plugins.pairlistmanager: WARNING - Pair SUSHIUP/USDT in your blacklist. Removing it from whitelist... 2021-07-26 06:24:45 freqtrade.plugins.pairlistmanager: WARNING - Pair XTZDOWN/USDT in your blacklist. Removing it from whitelist... 2021-07-26 06:24:50 freqtrade.plugins.pairlistmanager: WARNING - Pair XTZUP/USDT in your blacklist. Removing it from whitelist... 2021-07-26 06:24:50 freqtrade.plugins.pairlistmanager: WARNING - Pair SUSHIUP/USDT in your blacklist. Removing it from whitelist... 2021-07-26 06:24:50 freqtrade.plugins.pairlistmanager: WARNING - Pair XTZDOWN/USDT in your blacklist. Removing it from whitelist... This patch shows the warning only the first time, by keeping track of which pairs in the blacklist were already logged. --- freqtrade/plugins/pairlistmanager.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/freqtrade/plugins/pairlistmanager.py b/freqtrade/plugins/pairlistmanager.py index face79729..76ac84000 100644 --- a/freqtrade/plugins/pairlistmanager.py +++ b/freqtrade/plugins/pairlistmanager.py @@ -24,6 +24,7 @@ class PairListManager(): self._config = config self._whitelist = self._config['exchange'].get('pair_whitelist') self._blacklist = self._config['exchange'].get('pair_blacklist', []) + self._logged_blacklist_pairs = set() self._pairlist_handlers: List[IPairList] = [] self._tickers_needed = False for pairlist_handler_config in self._config.get('pairlists', None): @@ -108,9 +109,11 @@ class PairListManager(): except ValueError as err: logger.error(f"Pair blacklist contains an invalid Wildcard: {err}") return [] - for pair in deepcopy(pairlist): + for pair in pairlist.copy(): if pair in blacklist: - logmethod(f"Pair {pair} in your blacklist. Removing it from whitelist...") + if pair not in self._logged_blacklist_pairs: + logmethod(f"Pair {pair} in your blacklist. Removing it from whitelist...") + self._logged_blacklist_pairs.add(pair) pairlist.remove(pair) return pairlist