From 255206720fea019ee91c252cf01305b31199ca20 Mon Sep 17 00:00:00 2001 From: hroff-1902 Date: Mon, 28 Oct 2019 12:30:09 +0300 Subject: [PATCH] Add option to log to stderr --- freqtrade/configuration/arguments.py | 3 ++- freqtrade/configuration/cli_options.py | 6 ++++++ freqtrade/configuration/configuration.py | 2 ++ freqtrade/loggers.py | 5 +++-- 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/freqtrade/configuration/arguments.py b/freqtrade/configuration/arguments.py index b0156fcd1..418c3658b 100644 --- a/freqtrade/configuration/arguments.py +++ b/freqtrade/configuration/arguments.py @@ -9,7 +9,8 @@ from typing import Any, Dict, List, Optional from freqtrade import constants from freqtrade.configuration.cli_options import AVAILABLE_CLI_OPTIONS -ARGS_COMMON = ["verbosity", "logfile", "version", "config", "datadir", "user_data_dir"] +ARGS_COMMON = ["verbosity", "log_to_stderr", "logfile", "version", "config", "datadir", + "user_data_dir"] ARGS_STRATEGY = ["strategy", "strategy_path"] diff --git a/freqtrade/configuration/cli_options.py b/freqtrade/configuration/cli_options.py index 697e048db..b24655780 100644 --- a/freqtrade/configuration/cli_options.py +++ b/freqtrade/configuration/cli_options.py @@ -34,6 +34,12 @@ AVAILABLE_CLI_OPTIONS = { action='count', default=0, ), + "log_to_stderr": Arg( + '-E', '--stderr', + help='Force log messages to be printed to stderr instead of stdout.', + action='store_true', + default=False, + ), "logfile": Arg( '--logfile', help='Log to the file specified.', diff --git a/freqtrade/configuration/configuration.py b/freqtrade/configuration/configuration.py index 034f8d386..aa3ee4e86 100644 --- a/freqtrade/configuration/configuration.py +++ b/freqtrade/configuration/configuration.py @@ -125,6 +125,8 @@ class Configuration: # Log level config.update({'verbosity': self.args.get("verbosity", 0)}) + config.update({'log_to_stderr': self.args.get("log_to_stderr", False)}) + if 'logfile' in self.args and self.args["logfile"]: config.update({'logfile': self.args["logfile"]}) diff --git a/freqtrade/loggers.py b/freqtrade/loggers.py index 90b8905e5..f4a862f27 100644 --- a/freqtrade/loggers.py +++ b/freqtrade/loggers.py @@ -33,8 +33,9 @@ def setup_logging(config: Dict[str, Any]) -> None: # Log level verbosity = config['verbosity'] - # Log to stdout, not stderr - log_handlers: List[logging.Handler] = [logging.StreamHandler(sys.stdout)] + # By default, log to stdout, not stderr + stream = sys.stderr if config['log_to_stderr'] else sys.stdout + log_handlers: List[logging.Handler] = [logging.StreamHandler(stream)] if config.get('logfile'): log_handlers.append(RotatingFileHandler(config['logfile'],