diff --git a/planetmint/commands/planetmint.py b/planetmint/commands/planetmint.py index b6c34d2..7bcd2fa 100644 --- a/planetmint/commands/planetmint.py +++ b/planetmint/commands/planetmint.py @@ -284,7 +284,7 @@ def run_start(args): # Configure Logging setup_logging() - logger.info('Planetmint Version %s', planetmint.__version__) + logger.info('Planetmint Version %s', planetmint.version.__version__) run_recover(planetmint.lib.Planetmint()) if not args.skip_initialize_database: diff --git a/planetmint/config.py b/planetmint/config.py index 76b6048..ed1ce36 100644 --- a/planetmint/config.py +++ b/planetmint/config.py @@ -1,7 +1,7 @@ import copy import logging import os -from planetmint.log import DEFAULT_LOGGING_CONFIG as log_config +#from planetmint.log import DEFAULT_LOGGING_CONFIG as log_config from planetmint.version import __version__ # noqa @@ -25,6 +25,7 @@ class Config(metaclass=Singleton): # prompt the user for database values. We cannot rely on # _base_database_localmongodb.keys() because dicts are unordered. # I tried to configure + self.log_config = DEFAULT_LOGGING_CONFIG db = 'tarantool_db' self.__private_database_keys_map = { # TODO Check if it is working after removing 'name' field 'tarantool_db': ('host', 'port'), @@ -81,7 +82,7 @@ class Config(metaclass=Singleton): # - http://docs.gunicorn.org/en/stable/settings.html 'bind': 'localhost:9984', 'loglevel': logging.getLevelName( - log_config['handlers']['console']['level']).lower(), + self.log_config['handlers']['console']['level']).lower(), 'workers': None, # if None, the value will be cpu_count * 2 + 1 }, 'wsserver': { @@ -99,16 +100,16 @@ class Config(metaclass=Singleton): }, 'database': self.__private_database_map, 'log': { - 'file': log_config['handlers']['file']['filename'], - 'error_file': log_config['handlers']['errors']['filename'], + 'file': self.log_config['handlers']['file']['filename'], + 'error_file': self.log_config['handlers']['errors']['filename'], 'level_console': logging.getLevelName( - log_config['handlers']['console']['level']).lower(), + self.log_config['handlers']['console']['level']).lower(), 'level_logfile': logging.getLevelName( - log_config['handlers']['file']['level']).lower(), - 'datefmt_console': log_config['formatters']['console']['datefmt'], - 'datefmt_logfile': log_config['formatters']['file']['datefmt'], - 'fmt_console': log_config['formatters']['console']['format'], - 'fmt_logfile': log_config['formatters']['file']['format'], + self.log_config['handlers']['file']['level']).lower(), + 'datefmt_console': self.log_config['formatters']['console']['datefmt'], + 'datefmt_logfile': self.log_config['formatters']['file']['datefmt'], + 'fmt_console': self.log_config['formatters']['console']['format'], + 'fmt_logfile': self.log_config['formatters']['file']['format'], 'granular_levels': {}, }, } @@ -133,3 +134,53 @@ class Config(metaclass=Singleton): def get_db_map(sefl, db): return sefl.__private_database_map[db] + +DEFAULT_LOG_DIR = os.getcwd() +DEFAULT_LOGGING_CONFIG = { + 'version': 1, + 'disable_existing_loggers': False, + 'formatters': { + 'console': { + 'class': 'logging.Formatter', + 'format': ('[%(asctime)s] [%(levelname)s] (%(name)s) ' + '%(message)s (%(processName)-10s - pid: %(process)d)'), + 'datefmt': '%Y-%m-%d %H:%M:%S', + }, + 'file': { + 'class': 'logging.Formatter', + 'format': ('[%(asctime)s] [%(levelname)s] (%(name)s) ' + '%(message)s (%(processName)-10s - pid: %(process)d)'), + 'datefmt': '%Y-%m-%d %H:%M:%S', + } + }, + 'handlers': { + 'console': { + 'class': 'logging.StreamHandler', + 'formatter': 'console', + 'level': logging.INFO, + }, + 'file': { + 'class': 'logging.handlers.RotatingFileHandler', + 'filename': os.path.join(DEFAULT_LOG_DIR, 'planetmint.log'), + 'mode': 'w', + 'maxBytes': 209715200, + 'backupCount': 5, + 'formatter': 'file', + 'level': logging.INFO, + }, + 'errors': { + 'class': 'logging.handlers.RotatingFileHandler', + 'filename': os.path.join(DEFAULT_LOG_DIR, 'planetmint-errors.log'), + 'mode': 'w', + 'maxBytes': 209715200, + 'backupCount': 5, + 'formatter': 'file', + 'level': logging.ERROR, + } + }, + 'loggers': {}, + 'root': { + 'level': logging.DEBUG, + 'handlers': ['console', 'file', 'errors'], + }, +} diff --git a/planetmint/core.py b/planetmint/core.py index b87a778..5ed429b 100644 --- a/planetmint/core.py +++ b/planetmint/core.py @@ -256,7 +256,7 @@ class App(BaseApplication): def rollback(b): pre_commit = b.get_pre_commit_state() - if pre_commit is None: + if pre_commit is None or len(pre_commit) == 0: # the pre_commit record is first stored in the first `end_block` return diff --git a/planetmint/log.py b/planetmint/log.py index 2dca987..337f346 100644 --- a/planetmint/log.py +++ b/planetmint/log.py @@ -8,59 +8,10 @@ import logging from planetmint.common.exceptions import ConfigurationError from logging.config import dictConfig as set_logging_config +from planetmint.config import Config, DEFAULT_LOGGING_CONFIG import os -DEFAULT_LOG_DIR = os.getcwd() - -DEFAULT_LOGGING_CONFIG = { - 'version': 1, - 'disable_existing_loggers': False, - 'formatters': { - 'console': { - 'class': 'logging.Formatter', - 'format': ('[%(asctime)s] [%(levelname)s] (%(name)s) ' - '%(message)s (%(processName)-10s - pid: %(process)d)'), - 'datefmt': '%Y-%m-%d %H:%M:%S', - }, - 'file': { - 'class': 'logging.Formatter', - 'format': ('[%(asctime)s] [%(levelname)s] (%(name)s) ' - '%(message)s (%(processName)-10s - pid: %(process)d)'), - 'datefmt': '%Y-%m-%d %H:%M:%S', - } - }, - 'handlers': { - 'console': { - 'class': 'logging.StreamHandler', - 'formatter': 'console', - 'level': logging.INFO, - }, - 'file': { - 'class': 'logging.handlers.RotatingFileHandler', - 'filename': os.path.join(DEFAULT_LOG_DIR, 'planetmint.log'), - 'mode': 'w', - 'maxBytes': 209715200, - 'backupCount': 5, - 'formatter': 'file', - 'level': logging.INFO, - }, - 'errors': { - 'class': 'logging.handlers.RotatingFileHandler', - 'filename': os.path.join(DEFAULT_LOG_DIR, 'planetmint-errors.log'), - 'mode': 'w', - 'maxBytes': 209715200, - 'backupCount': 5, - 'formatter': 'file', - 'level': logging.ERROR, - } - }, - 'loggers': {}, - 'root': { - 'level': logging.DEBUG, - 'handlers': ['console', 'file', 'errors'], - }, -} def _normalize_log_level(level):