def setup_logging(self, section): """ Read an Oasis standard logging config """ log_dir = self.get(section, 'LOG_DIRECTORY') log_filename = self.get(section, 'LOG_FILENAME') log_path = os.path.join(log_dir, log_filename) read_log_config({ 'LOG_FILE': log_path, 'LOG_LEVEL': self.get(section, 'LOG_LEVEL'), 'LOG_MAX_SIZE_IN_BYTES': self.getint(section, 'LOG_MAX_SIZE_IN_BYTES'), 'LOG_BACKUP_COUNT': self.getint(section, 'LOG_BACKUP_COUNT'), })
def test_log_config_is_loaded___logger_is_updated(self, level): with patch('logging.root', logging.RootLogger(logging.NOTSET)): read_log_config({ 'LOG_FILE': '/tmp/log_file.txt', 'LOG_LEVEL': level, 'LOG_MAX_SIZE_IN_BYTES': 100, 'LOG_BACKUP_COUNT': 10, }) logger = logging.getLogger() self.assertEqual(level, logger.level) self.assertEqual(1, len(logger.handlers)) handler = logger.handlers[0] self.assertIsInstance(handler, RotatingFileHandler) self.assertEqual('/tmp/log_file.txt', handler.baseFilename) self.assertEqual(100, handler.maxBytes) self.assertEqual(10, handler.backupCount)
INI_PATH = os.path.abspath(os.path.join(CURRENT_DIRECTORY, 'FlamingoApi.ini')) CONFIG_PARSER = conf.load_ini_file(INI_PATH) CONFIG_PARSER['LOG_FILE'] = CONFIG_PARSER['LOG_FILE'].replace('%LOG_DIRECTORY%', CONFIG_PARSER['LOG_DIRECTORY']) flamingo_utils.IS_WINDOWS_HOST = bool(CONFIG_PARSER['IS_WINDOWS_HOST']) flamingo_utils.FILES_DIRECTORY = os.path.join('/', 'var', 'www', 'oasis', 'Files') flamingo_utils.OASIS_FILES_DIRECTORY = os.path.join(flamingo_utils.FILES_DIRECTORY, 'OasisFiles') logger = logging.getLogger() logger.info("FILES_DIRECTORY: {}".format(flamingo_utils.FILES_DIRECTORY)) logger.info("IS_WINDOWS_HOST: {}".format(flamingo_utils.IS_WINDOWS_HOST)) # Logging configuration log.read_log_config(CONFIG_PARSER) # Database configuration db.read_db_config(CONFIG_PARSER) if db.check_connection(): logger.info("Successfully connected to Flamingo database") else: logger.exception("Failed to connect to Flamingo database") exit() @app.route("/healthcheck") @log.oasis_log() def healthcheck(): ''' Basic healthcheck