diff --git a/dtable_events/app/log.py b/dtable_events/app/log.py index fac8d69e..35329212 100644 --- a/dtable_events/app/log.py +++ b/dtable_events/app/log.py @@ -36,8 +36,8 @@ def _rotating_config(self): def _basic_config(self): # Log to stdout. Mainly for development. kw = { - 'format': '[%(asctime)s] %(filename)s[line:%(lineno)d] [%(levelname)s] %(message)s', - 'datefmt': '%m/%d/%Y %H:%M:%S', + 'format': '[%(asctime)s] [%(levelname)s] %(filename)s[line:%(lineno)d] %(message)s', + 'datefmt': '%Y-%m-%d %H:%M:%S', 'level': self._level, 'stream': sys.stdout } diff --git a/dtable_events/dtable_io/utils.py b/dtable_events/dtable_io/utils.py index ac4fbabb..1154f358 100644 --- a/dtable_events/dtable_io/utils.py +++ b/dtable_events/dtable_io/utils.py @@ -44,8 +44,13 @@ def setup_logger(logname): """ logdir = os.path.join(os.environ.get('LOG_DIR', '')) log_file = os.path.join(logdir, logname) - handler = handlers.TimedRotatingFileHandler(log_file, when='MIDNIGHT', interval=1, backupCount=7) - formatter = logging.Formatter('%(asctime)s [%(levelname)s] %(message)s') + + if os.environ.get('SEATABLE_LOG_TO_STDOUT', 'false').lower() == 'true': + handler = logging.StreamHandler(sys.stdout) + else: + handler = handlers.TimedRotatingFileHandler(log_file, when='MIDNIGHT', interval=1, backupCount=7) + + formatter = logging.Formatter('[%(asctime)s] [%(levelname)s] %(message)s', datefmt='%Y-%m-%d %H:%M:%S') handler.setFormatter(formatter) handler.addFilter(logging.Filter(logname)) diff --git a/dtable_events/tasks/dtable_rows_counter.py b/dtable_events/tasks/dtable_rows_counter.py index 00421ecf..ec02bc47 100644 --- a/dtable_events/tasks/dtable_rows_counter.py +++ b/dtable_events/tasks/dtable_rows_counter.py @@ -67,8 +67,12 @@ def run(self): manage_py, 'count_user_org_rows' ] - with open(self._logfile, 'a') as fp: - run(cmd, cwd=dtable_web_dir, output=fp) + + if os.environ.get('SEATABLE_LOG_TO_STDOUT', 'false').lower() == 'true': + run(cmd, cwd=dtable_web_dir) + else: + with open(self._logfile, 'a') as fp: + run(cmd, cwd=dtable_web_dir, output=fp) except Exception as e: logging.exception('error when counting rows: %s', e) diff --git a/dtable_events/tasks/dtable_updates_sender.py b/dtable_events/tasks/dtable_updates_sender.py index 0d0860e8..5033df1a 100644 --- a/dtable_events/tasks/dtable_updates_sender.py +++ b/dtable_events/tasks/dtable_updates_sender.py @@ -72,8 +72,12 @@ def run(self): manage_py, 'send_dtable_updates', ] - with open(self._logfile, 'a') as fp: - run_and_wait(cmd, cwd=dtable_web_dir, output=fp) + + if os.environ.get('SEATABLE_LOG_TO_STDOUT', 'false').lower() == 'true': + run_and_wait(cmd, cwd=dtable_web_dir) + else: + with open(self._logfile, 'a') as fp: + run_and_wait(cmd, cwd=dtable_web_dir, output=fp) except Exception as e: logging.exception('send dtable updates email error: %s', e) diff --git a/dtable_events/tasks/dtables_cleaner.py b/dtable_events/tasks/dtables_cleaner.py index 80b78993..2b6ed795 100644 --- a/dtable_events/tasks/dtables_cleaner.py +++ b/dtable_events/tasks/dtables_cleaner.py @@ -64,8 +64,11 @@ def run(self): 'clean_trash_dtables', self._expire_seconds, ] - with open(self._logfile, 'a') as fp: - run(cmd, cwd=dtable_web_dir, output=fp) + if os.environ.get('SEATABLE_LOG_TO_STDOUT', 'false').lower() == 'true': + run(cmd, cwd=dtable_web_dir) + else: + with open(self._logfile, 'a') as fp: + run(cmd, cwd=dtable_web_dir, output=fp) except Exception as e: logging.exception('error when cleaning trash dtables: %s', e) diff --git a/dtable_events/tasks/email_notices_sender.py b/dtable_events/tasks/email_notices_sender.py index fd4c59b2..9ce2ac5d 100644 --- a/dtable_events/tasks/email_notices_sender.py +++ b/dtable_events/tasks/email_notices_sender.py @@ -77,8 +77,12 @@ def run(self): manage_py, 'send_email_notices', ] - with open(self._logfile, 'a') as fp: - run(cmd, cwd=dtable_web_dir, output=fp) + + if os.environ.get('SEATABLE_LOG_TO_STDOUT', 'false').lower() == 'true': + run(cmd, cwd=dtable_web_dir) + else: + with open(self._logfile, 'a') as fp: + run(cmd, cwd=dtable_web_dir, output=fp) except Exception as e: logging.exception('error when send email: %s', e) diff --git a/dtable_events/tasks/instant_notices_sender.py b/dtable_events/tasks/instant_notices_sender.py index a28db800..0847f500 100644 --- a/dtable_events/tasks/instant_notices_sender.py +++ b/dtable_events/tasks/instant_notices_sender.py @@ -85,8 +85,11 @@ def run(self): 'send_instant_notices', ] - with open(self._logfile, 'a') as fp: - run(cmd, cwd=dtable_web_dir, output=fp) + if os.environ.get('SEATABLE_LOG_TO_STDOUT', 'false').lower() == 'true': + run(cmd, cwd=dtable_web_dir) + else: + with open(self._logfile, 'a') as fp: + run(cmd, cwd=dtable_web_dir, output=fp) except Exception as e: logging.exception('send instant notices error: %s', e) diff --git a/dtable_events/tasks/ldap_syncer.py b/dtable_events/tasks/ldap_syncer.py index 3ac302b5..4d7cea01 100644 --- a/dtable_events/tasks/ldap_syncer.py +++ b/dtable_events/tasks/ldap_syncer.py @@ -80,8 +80,12 @@ def run(self): manage_py, 'ldap_group_sync' ] - with open(self._logfile, 'a') as fp: - run_and_wait(cmd, cwd=dtable_web_dir, output=fp) + + if os.environ.get('SEATABLE_LOG_TO_STDOUT', 'false').lower() == 'true': + run_and_wait(cmd, cwd=dtable_web_dir) + else: + with open(self._logfile, 'a') as fp: + run_and_wait(cmd, cwd=dtable_web_dir, output=fp) except Exception as e: logging.exception('error when sync ldap group: %s', e)