Пример #1
0
def getTableLogger(table_name):
    LOG_CONFIG['handlers']['{}_file'.format(table_name)] = {
        'level': 'DEBUG',
        'class': 'logging.handlers.TimedRotatingFileHandler',
        'formatter': 'standard',
        'filename':
        os.path.expanduser('./logs/{}-table.log'.format(table_name)),
        'when': 'midnight',
        'backupCount': 5
    }
    if config_handler.get_global_option('dry_run'):
        LOG_CONFIG['handlers']['{}_file'.format(
            table_name)]['formatter'] = 'dry-run'
    if config_handler.get_logging_option('log_level'):
        level = config_handler.get_logging_option('log_level').upper()
    else:
        level = 'DEBUG'
    LOG_CONFIG['loggers']['{}_table'.format(table_name)] = {
        'handlers': ['{}_file'.format(table_name)],
        'level': level,
        'propagate': False
    }
    try:
        dictconfig.dictConfig(LOG_CONFIG)
    except ValueError as error:
        print('Error configuring logger: {0}'.format(error))
        sys.exit(1)
    except:
        raise
    return logging.getLogger('{}_table'.format(table_name))
Пример #2
0
    def __init__(self, name='dynamic-dynamodb', level='info',
                 log_file=None, logstash_logger=False, dry_run=False):
        """ Instanciate the logger

        :type name: str
        :param name: Logger name
        :type level: str
        :param level: Log level [debug|info|warning|error]
        :type log_file: str
        :type log_file: bool
        :param log_file: Path to log file (if any)
        :type logstash_logger: str
        :type logstash_logger: bool
        :type dry_run: bool
        :param dry_run: Add dry-run to the output
        """
        # Set up the logger
        self.logger = logging.getLogger(name)
        if level.lower() == 'debug':
            self.logger.setLevel(logging.DEBUG)
        elif level.lower() == 'info':
            self.logger.setLevel(logging.INFO)
        elif level.lower() == 'warning':
            self.logger.setLevel(logging.WARNING)
        elif level.lower() == 'error':
            self.logger.setLevel(logging.ERROR)
        else:
            self.logger.setLevel(logging.INFO)

        # Formatting
        if dry_run:
            formatter = logging.Formatter(
                '%(asctime)s - %(name)s - %(levelname)s - dryrun - %(message)s')
        else:
            formatter = logging.Formatter(
                '%(asctime)s - %(name)s - %(levelname)s - %(message)s')

        # Console handler
        console_handler = logging.StreamHandler()
        console_handler.setFormatter(formatter)
        self.logger.addHandler(console_handler)

        # File handler
        if log_file:
            file_handler = logging.FileHandler(os.path.expanduser(log_file))
            file_handler.setFormatter(formatter)
            self.logger.addHandler(file_handler)
            
        if logstash_logger:
            self.logger.addHandler(logstash.LogstashHandler(
               config_handler.get_logging_option('logstash_host'),
               config_handler.get_logging_option('logstash_port'),
               'dynamic-dynamodb'))   
Пример #3
0
def __get_logger():
    """ Returns the logger """
    # Instanciate a new logger
    if config_handler.get_logging_option('log_file'):
        logger = LogHandler(
            level=config_handler.get_logging_option('log_level'),
            log_file=config_handler.get_logging_option('log_file'),
            dry_run=config_handler.get_global_option('dry_run'))
    else:
        logger = LogHandler(
            level=config_handler.get_logging_option('log_level'),
            dry_run=config_handler.get_global_option('dry_run'))

    return logger
Пример #4
0
def __get_logger():
    """ Returns the logger """
    # Instanciate a new logger
    if config_handler.get_logging_option('log_file'):
        logger = LogHandler(
            level=config_handler.get_logging_option('log_level'),
            log_file=config_handler.get_logging_option('log_file'),
            dry_run=config_handler.get_global_option('dry_run'))
    else:
        logger = LogHandler(
            level=config_handler.get_logging_option('log_level'),
            dry_run=config_handler.get_global_option('dry_run'))

    return logger
Пример #5
0
    },
    'loggers': {
        '': {
            'handlers': ['console'],
            'level': 'WARNING',
            'propagate': True
        },
        'dynamic-dynamodb': {
            'handlers': ['console'],
            'level': 'DEBUG',
            'propagate': False
        }
    }
}

if config_handler.get_logging_option('log_config_file'):
    # Read configuration from an external Python logging file
    logging.config.fileConfig(os.path.expanduser(
        config_handler.get_logging_option('log_config_file')))
else:
    # File handler
    if config_handler.get_logging_option('log_file'):
        log_file = os.path.expanduser(
            config_handler.get_logging_option('log_file'))
        LOG_CONFIG['handlers']['file'] = {
            'level': 'DEBUG',
            'class': 'logging.handlers.TimedRotatingFileHandler',
            'formatter': 'standard',
            'filename': log_file,
            'when': 'midnight',
            'backupCount': 5