mirror of
https://github.com/freqtrade/freqtrade.git
synced 2024-09-20 01:21:11 +00:00
ruff format: loggers
This commit is contained in:
parent
9303ae29d3
commit
f8f9ac38b2
|
@ -10,7 +10,7 @@ from freqtrade.loggers.std_err_stream_handler import FTStdErrStreamHandler
|
||||||
|
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
LOGFORMAT = '%(asctime)s - %(name)s - %(levelname)s - %(message)s'
|
LOGFORMAT = "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
|
||||||
|
|
||||||
# Initialize bufferhandler - will be used for /log endpoints
|
# Initialize bufferhandler - will be used for /log endpoints
|
||||||
bufferHandler = FTBufferingHandler(1000)
|
bufferHandler = FTBufferingHandler(1000)
|
||||||
|
@ -33,9 +33,7 @@ def setup_logging_pre() -> None:
|
||||||
ones the user desires beforehand.
|
ones the user desires beforehand.
|
||||||
"""
|
"""
|
||||||
logging.basicConfig(
|
logging.basicConfig(
|
||||||
level=logging.INFO,
|
level=logging.INFO, format=LOGFORMAT, handlers=[FTStdErrStreamHandler(), bufferHandler]
|
||||||
format=LOGFORMAT,
|
|
||||||
handlers=[FTStdErrStreamHandler(), bufferHandler]
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@ -44,20 +42,20 @@ def setup_logging(config: Config) -> None:
|
||||||
Process -v/--verbose, --logfile options
|
Process -v/--verbose, --logfile options
|
||||||
"""
|
"""
|
||||||
# Log level
|
# Log level
|
||||||
verbosity = config['verbosity']
|
verbosity = config["verbosity"]
|
||||||
logging.root.addHandler(bufferHandler)
|
logging.root.addHandler(bufferHandler)
|
||||||
|
|
||||||
logfile = config.get('logfile')
|
logfile = config.get("logfile")
|
||||||
|
|
||||||
if logfile:
|
if logfile:
|
||||||
s = logfile.split(':')
|
s = logfile.split(":")
|
||||||
if s[0] == 'syslog':
|
if s[0] == "syslog":
|
||||||
# Address can be either a string (socket filename) for Unix domain socket or
|
# Address can be either a string (socket filename) for Unix domain socket or
|
||||||
# a tuple (hostname, port) for UDP socket.
|
# a tuple (hostname, port) for UDP socket.
|
||||||
# Address can be omitted (i.e. simple 'syslog' used as the value of
|
# Address can be omitted (i.e. simple 'syslog' used as the value of
|
||||||
# config['logfilename']), which defaults to '/dev/log', applicable for most
|
# config['logfilename']), which defaults to '/dev/log', applicable for most
|
||||||
# of the systems.
|
# of the systems.
|
||||||
address = (s[1], int(s[2])) if len(s) > 2 else s[1] if len(s) > 1 else '/dev/log'
|
address = (s[1], int(s[2])) if len(s) > 2 else s[1] if len(s) > 1 else "/dev/log"
|
||||||
handler_sl = get_existing_handlers(SysLogHandler)
|
handler_sl = get_existing_handlers(SysLogHandler)
|
||||||
if handler_sl:
|
if handler_sl:
|
||||||
logging.root.removeHandler(handler_sl)
|
logging.root.removeHandler(handler_sl)
|
||||||
|
@ -65,14 +63,16 @@ def setup_logging(config: Config) -> None:
|
||||||
# No datetime field for logging into syslog, to allow syslog
|
# No datetime field for logging into syslog, to allow syslog
|
||||||
# to perform reduction of repeating messages if this is set in the
|
# to perform reduction of repeating messages if this is set in the
|
||||||
# syslog config. The messages should be equal for this.
|
# syslog config. The messages should be equal for this.
|
||||||
handler_sl.setFormatter(Formatter('%(name)s - %(levelname)s - %(message)s'))
|
handler_sl.setFormatter(Formatter("%(name)s - %(levelname)s - %(message)s"))
|
||||||
logging.root.addHandler(handler_sl)
|
logging.root.addHandler(handler_sl)
|
||||||
elif s[0] == 'journald': # pragma: no cover
|
elif s[0] == "journald": # pragma: no cover
|
||||||
try:
|
try:
|
||||||
from cysystemd.journal import JournaldLogHandler
|
from cysystemd.journal import JournaldLogHandler
|
||||||
except ImportError:
|
except ImportError:
|
||||||
raise OperationalException("You need the cysystemd python package be installed in "
|
raise OperationalException(
|
||||||
"order to use logging to journald.")
|
"You need the cysystemd python package be installed in "
|
||||||
|
"order to use logging to journald."
|
||||||
|
)
|
||||||
handler_jd = get_existing_handlers(JournaldLogHandler)
|
handler_jd = get_existing_handlers(JournaldLogHandler)
|
||||||
if handler_jd:
|
if handler_jd:
|
||||||
logging.root.removeHandler(handler_jd)
|
logging.root.removeHandler(handler_jd)
|
||||||
|
@ -80,19 +80,21 @@ def setup_logging(config: Config) -> None:
|
||||||
# No datetime field for logging into journald, to allow syslog
|
# No datetime field for logging into journald, to allow syslog
|
||||||
# to perform reduction of repeating messages if this is set in the
|
# to perform reduction of repeating messages if this is set in the
|
||||||
# syslog config. The messages should be equal for this.
|
# syslog config. The messages should be equal for this.
|
||||||
handler_jd.setFormatter(Formatter('%(name)s - %(levelname)s - %(message)s'))
|
handler_jd.setFormatter(Formatter("%(name)s - %(levelname)s - %(message)s"))
|
||||||
logging.root.addHandler(handler_jd)
|
logging.root.addHandler(handler_jd)
|
||||||
else:
|
else:
|
||||||
handler_rf = get_existing_handlers(RotatingFileHandler)
|
handler_rf = get_existing_handlers(RotatingFileHandler)
|
||||||
if handler_rf:
|
if handler_rf:
|
||||||
logging.root.removeHandler(handler_rf)
|
logging.root.removeHandler(handler_rf)
|
||||||
handler_rf = RotatingFileHandler(logfile,
|
handler_rf = RotatingFileHandler(
|
||||||
maxBytes=1024 * 1024 * 10, # 10Mb
|
logfile,
|
||||||
backupCount=10)
|
maxBytes=1024 * 1024 * 10, # 10Mb
|
||||||
|
backupCount=10,
|
||||||
|
)
|
||||||
handler_rf.setFormatter(Formatter(LOGFORMAT))
|
handler_rf.setFormatter(Formatter(LOGFORMAT))
|
||||||
logging.root.addHandler(handler_rf)
|
logging.root.addHandler(handler_rf)
|
||||||
|
|
||||||
logging.root.setLevel(logging.INFO if verbosity < 1 else logging.DEBUG)
|
logging.root.setLevel(logging.INFO if verbosity < 1 else logging.DEBUG)
|
||||||
set_loggers(verbosity, config.get('api_server', {}).get('verbosity', 'info'))
|
set_loggers(verbosity, config.get("api_server", {}).get("verbosity", "info"))
|
||||||
|
|
||||||
logger.info('Verbosity set to %s', verbosity)
|
logger.info("Verbosity set to %s", verbosity)
|
||||||
|
|
|
@ -10,6 +10,7 @@ class FTBufferingHandler(BufferingHandler):
|
||||||
self.acquire()
|
self.acquire()
|
||||||
try:
|
try:
|
||||||
# Keep half of the records in buffer.
|
# Keep half of the records in buffer.
|
||||||
self.buffer = self.buffer[-int(self.capacity / 2):]
|
records_to_keep = -int(self.capacity / 2)
|
||||||
|
self.buffer = self.buffer[records_to_keep:]
|
||||||
finally:
|
finally:
|
||||||
self.release()
|
self.release()
|
||||||
|
|
|
@ -1,35 +1,32 @@
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
def set_loggers(verbosity: int = 0, api_verbosity: str = 'info') -> None:
|
def set_loggers(verbosity: int = 0, api_verbosity: str = "info") -> None:
|
||||||
"""
|
"""
|
||||||
Set the logging level for third party libraries
|
Set the logging level for third party libraries
|
||||||
:param verbosity: Verbosity level. amount of `-v` passed to the command line
|
:param verbosity: Verbosity level. amount of `-v` passed to the command line
|
||||||
:return: None
|
:return: None
|
||||||
"""
|
"""
|
||||||
for logger_name in ('requests', 'urllib3', 'httpcore'):
|
for logger_name in ("requests", "urllib3", "httpcore"):
|
||||||
logging.getLogger(logger_name).setLevel(
|
logging.getLogger(logger_name).setLevel(logging.INFO if verbosity <= 1 else logging.DEBUG)
|
||||||
logging.INFO if verbosity <= 1 else logging.DEBUG
|
logging.getLogger("ccxt.base.exchange").setLevel(
|
||||||
)
|
|
||||||
logging.getLogger('ccxt.base.exchange').setLevel(
|
|
||||||
logging.INFO if verbosity <= 2 else logging.DEBUG
|
logging.INFO if verbosity <= 2 else logging.DEBUG
|
||||||
)
|
)
|
||||||
logging.getLogger('telegram').setLevel(logging.INFO)
|
logging.getLogger("telegram").setLevel(logging.INFO)
|
||||||
logging.getLogger('httpx').setLevel(logging.WARNING)
|
logging.getLogger("httpx").setLevel(logging.WARNING)
|
||||||
|
|
||||||
logging.getLogger('werkzeug').setLevel(
|
logging.getLogger("werkzeug").setLevel(
|
||||||
logging.ERROR if api_verbosity == 'error' else logging.INFO
|
logging.ERROR if api_verbosity == "error" else logging.INFO
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
__BIAS_TESTER_LOGGERS = [
|
__BIAS_TESTER_LOGGERS = [
|
||||||
'freqtrade.resolvers',
|
"freqtrade.resolvers",
|
||||||
'freqtrade.strategy.hyper',
|
"freqtrade.strategy.hyper",
|
||||||
'freqtrade.configuration.config_validation',
|
"freqtrade.configuration.config_validation",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@ class FTStdErrStreamHandler(Handler):
|
||||||
try:
|
try:
|
||||||
msg = self.format(record)
|
msg = self.format(record)
|
||||||
# Don't keep a reference to stderr - this can be problematic with progressbars.
|
# Don't keep a reference to stderr - this can be problematic with progressbars.
|
||||||
sys.stderr.write(msg + '\n')
|
sys.stderr.write(msg + "\n")
|
||||||
self.flush()
|
self.flush()
|
||||||
except RecursionError:
|
except RecursionError:
|
||||||
raise
|
raise
|
||||||
|
|
Loading…
Reference in New Issue
Block a user