diff --git a/mindinsight/backend/config/gunicorn_conf.py b/mindinsight/backend/config/gunicorn_conf.py index 8bb194a9..37221a4e 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 d6a600cc..db5a5a42 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 0ccb2700..391182ac 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 00e0132a..6fa62f13 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)