Simplify setup of handlers
This commit is contained in:
parent
48944fd4cb
commit
b989ba0f82
@ -1,9 +1,8 @@
|
|||||||
import logging
|
import logging
|
||||||
import queue
|
import queue
|
||||||
import sys
|
|
||||||
from logging import Formatter
|
from logging import Formatter
|
||||||
from logging.handlers import RotatingFileHandler, SysLogHandler, QueueHandler, QueueListener
|
from logging.handlers import RotatingFileHandler, SysLogHandler
|
||||||
from typing import Any, Dict, List
|
from typing import Any, Dict
|
||||||
|
|
||||||
from freqtrade.exceptions import OperationalException
|
from freqtrade.exceptions import OperationalException
|
||||||
|
|
||||||
@ -40,17 +39,10 @@ def setup_logging_pre() -> None:
|
|||||||
This uses a queuehandler, which delays logging.
|
This uses a queuehandler, which delays logging.
|
||||||
# TODO: How does QueueHandler work if no listenerhandler is attached??
|
# TODO: How does QueueHandler work if no listenerhandler is attached??
|
||||||
"""
|
"""
|
||||||
logging.root.setLevel(logging.INFO)
|
logging.basicConfig(
|
||||||
fmt = logging.Formatter(LOGFORMAT)
|
level=logging.INFO,
|
||||||
|
format=LOGFORMAT,
|
||||||
queue_handler = QueueHandler(log_queue)
|
)
|
||||||
queue_handler.setFormatter(fmt)
|
|
||||||
logger.root.addHandler(queue_handler)
|
|
||||||
|
|
||||||
# Add streamhandler here to capture Errors before QueueListener is started
|
|
||||||
sth = logging.StreamHandler(sys.stderr)
|
|
||||||
sth.setFormatter(fmt)
|
|
||||||
logger.root.addHandler(sth)
|
|
||||||
|
|
||||||
|
|
||||||
def setup_logging(config: Dict[str, Any]) -> None:
|
def setup_logging(config: Dict[str, Any]) -> None:
|
||||||
@ -60,9 +52,6 @@ def setup_logging(config: Dict[str, Any]) -> None:
|
|||||||
# Log level
|
# Log level
|
||||||
verbosity = config['verbosity']
|
verbosity = config['verbosity']
|
||||||
|
|
||||||
# Log to stderr
|
|
||||||
log_handlers: List[logging.Handler] = []
|
|
||||||
|
|
||||||
logfile = config.get('logfile')
|
logfile = config.get('logfile')
|
||||||
if logfile:
|
if logfile:
|
||||||
s = logfile.split(':')
|
s = logfile.split(':')
|
||||||
@ -78,7 +67,7 @@ def setup_logging(config: Dict[str, Any]) -> None:
|
|||||||
# 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.setFormatter(Formatter('%(name)s - %(levelname)s - %(message)s'))
|
handler.setFormatter(Formatter('%(name)s - %(levelname)s - %(message)s'))
|
||||||
log_handlers.append(handler)
|
logging.root.addHandler(handler)
|
||||||
elif s[0] == 'journald':
|
elif s[0] == 'journald':
|
||||||
try:
|
try:
|
||||||
from systemd.journal import JournaldLogHandler
|
from systemd.journal import JournaldLogHandler
|
||||||
@ -90,16 +79,15 @@ def setup_logging(config: Dict[str, Any]) -> None:
|
|||||||
# 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.setFormatter(Formatter('%(name)s - %(levelname)s - %(message)s'))
|
handler.setFormatter(Formatter('%(name)s - %(levelname)s - %(message)s'))
|
||||||
log_handlers.append(handler)
|
logging.root.addHandler(handler)
|
||||||
else:
|
else:
|
||||||
log_handlers.append(RotatingFileHandler(logfile,
|
handler = RotatingFileHandler(logfile,
|
||||||
maxBytes=1024 * 1024, # 1Mb
|
maxBytes=1024 * 1024, # 1Mb
|
||||||
backupCount=10))
|
backupCount=10)
|
||||||
|
handler.setFormatter(Formatter(LOGFORMAT))
|
||||||
|
logging.root.addHandler(handler)
|
||||||
|
|
||||||
listener = QueueListener(log_queue, *log_handlers)
|
|
||||||
|
|
||||||
# logging.root.setFormatter(logging.Formatter(LOGFORMAT))
|
|
||||||
logging.root.setLevel(logging.INFO if verbosity < 1 else logging.DEBUG)
|
logging.root.setLevel(logging.INFO if verbosity < 1 else logging.DEBUG)
|
||||||
listener.start()
|
|
||||||
_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)
|
||||||
|
Loading…
Reference in New Issue
Block a user