diff --git a/mindinsight/backend/config/gunicorn_conf.py b/mindinsight/backend/config/gunicorn_conf.py index 8bb194a9283fab6de2914400046a37efd084a049..37221a4ef59081f70a6907c9f8b41c8b1004920d 100644 --- a/mindinsight/backend/config/gunicorn_conf.py +++ b/mindinsight/backend/config/gunicorn_conf.py @@ -32,10 +32,10 @@ timeout = 30 graceful_timeout = 30 daemon = False -captureoutput = True +captureoutput = False -# write gunicorn default log to stream, and using mindinsight logger write gunicorn log to file. -accesslog = '-' +# write gunicorn default log to devnull, and using mindinsight logger write gunicorn log to file. +accesslog = os.devnull def on_starting(server): diff --git a/mindinsight/backend/run.py b/mindinsight/backend/run.py index d6a600cc5fa2ee9a30d85107e7794722b652df8b..db5a5a42491d8f3472226cd5d14cbb96788b1381 100644 --- a/mindinsight/backend/run.py +++ b/mindinsight/backend/run.py @@ -199,14 +199,18 @@ class GunicornLogger(Logger): """Rewrite gunicorn default logger.""" def __init__(self, cfg): - self.access_log = setup_logger('gunicorn', 'access') - self.error_log = setup_logger('gunicorn', 'error') - super(GunicornLogger, self).__init__(cfg) + self.cfg = cfg + self.access_log = setup_logger('gunicorn', 'access', formatter='%(message)s') + self.error_log = setup_logger('gunicorn', 'error', formatter=self.error_fmt) access_log_path = _get_access_log_path() error_log_path = _get_error_log_path() os.chmod(access_log_path, stat.S_IREAD | stat.S_IWRITE) os.chmod(error_log_path, stat.S_IREAD | stat.S_IWRITE) + def now(self): + """return Log Format""" + return time.strftime('[%Y-%m-%d-%H:%M:%S %z]') + def _get_all_ip_addresses(host): """Get all the accessible IP address.""" @@ -255,7 +259,7 @@ def start(): shell=False, # Change stdout to DEVNULL to prevent broken pipe error when creating new processes. stdin=subprocess.DEVNULL, - stdout=subprocess.DEVNULL, + stdout=None, stderr=subprocess.STDOUT ) diff --git a/mindinsight/conf/constants.py b/mindinsight/conf/constants.py index 0ccb270071fc75af8060b1d543c761afeb5448c8..391182ac4678b5a78969e50b1f941521f5993b99 100644 --- a/mindinsight/conf/constants.py +++ b/mindinsight/conf/constants.py @@ -51,7 +51,7 @@ def _calc_default_max_processes_cnt(): LOG_FORMAT = '[%(levelname)s] MI(%(process)d:%(thread)d,%(processName)s):%(asctime)s ' \ '[%(filepath)s:%(lineno)d][%(sub_module)s] %(message)s' -GUNICORN_ACCESS_FORMAT = "'%(h)s <%(r)s> %(s)s %(b)s <%(f)s> <%(a)s> %(D)s'" +GUNICORN_ACCESS_FORMAT = "'%(t)s %(h)s <%(r)s> %(s)s %(b)s <%(f)s> <%(a)s> %(L)s '" LOG_LEVEL = logging.INFO # rotating max bytes, default is 50M diff --git a/mindinsight/utils/log.py b/mindinsight/utils/log.py index 00e0132ac4166139bc9a293426bd874702022872..6fa62f138261baa9806be59d6a3d0b79fe7cf310 100644 --- a/mindinsight/utils/log.py +++ b/mindinsight/utils/log.py @@ -189,7 +189,7 @@ def setup_logger(sub_module, log_name, **kwargs): if not formatter: formatter = settings.LOG_FORMAT - if kwargs.get('console', True): + if kwargs.get('console', False): console_handler = logging.StreamHandler(sys.stdout) console_handler.formatter = MindInsightFormatter(sub_module, formatter) logger.addHandler(console_handler)