comment-server/src/main.py
2019-08-24 00:31:04 -04:00

86 lines
2.5 KiB
Python

import logging.config
import logging
import argparse
import sys
from src.settings import config
from src.server.app import run_app
def config_logging_from_settings(conf):
_config = {
"version": 1,
"disable_existing_loggers": False,
"formatters": {
"standard": {
"format": conf['logging']['format'],
"datefmt": conf['logging']['datefmt']
},
"aiohttp": {
"format": conf['logging']['aiohttp_format'],
"datefmt": conf['logging']['datefmt']
}
},
"handlers": {
"console": {
"level": "DEBUG",
"formatter": "standard",
"class": "logging.StreamHandler",
"stream": "ext://sys.stdout"
},
"debug": {
"level": "DEBUG",
"formatter": "standard",
"class": "logging.handlers.RotatingFileHandler",
"filename": conf['path']['debug_log'],
"maxBytes": 10485760,
"backupCount": 5
},
"error": {
"level": "ERROR",
"formatter": "standard",
"class": "logging.handlers.RotatingFileHandler",
"filename": conf['path']['error_log'],
"maxBytes": 10485760,
"backupCount": 5
},
"server": {
"level": "NOTSET",
"formatter": "aiohttp",
"class": "logging.handlers.RotatingFileHandler",
"filename": conf['path']['server_log'],
"maxBytes": 10485760,
"backupCount": 5
}
},
"loggers": {
"": {
"handlers": ["console", "debug", "error"],
"level": "DEBUG",
"propogate": True
},
"aiohttp.access": {
"handlers": ["server"],
"level": "INFO",
"propogate": False
}
}
}
logging.config.dictConfig(_config)
def main(argv=None):
argv = argv or sys.argv[1:]
parser = argparse.ArgumentParser(description='LBRY Comment Server')
parser.add_argument('--port', type=int)
args = parser.parse_args(argv)
config_logging_from_settings(config)
if args.port:
config['port'] = args.port
config_logging_from_settings(config)
run_app(config)
if __name__ == '__main__':
sys.exit(main())