#!/usr/bin/env python3 # # Copyright (c) 2016-2018, Neil Booth # # All rights reserved. # # See the file "LICENCE" for information about the copyright # and warranty status of this software. '''Script to kick off the server.''' import logging import sys import traceback from electrumx import Controller, Env from electrumx.lib.util import CompactFormatter, make_logger def main(): '''Set up logging and run the server.''' log_fmt = Env.default('LOG_FORMAT', '%(levelname)s:%(name)s:%(message)s') handler = logging.StreamHandler(sys.stdout) handler.setFormatter(CompactFormatter(log_fmt)) make_logger('electrumx', handler=handler, level=logging.INFO) logging.info('ElectrumX server starting') try: controller = Controller(Env()) controller.run() except Exception: traceback.print_exc() logging.critical('ElectrumX server terminated abnormally') else: logging.info('ElectrumX server terminated normally') if __name__ == '__main__': main()