diff options
author | Taseer Ahmed <taseer94@gmail.com> | 2017-08-15 23:04:23 +0500 |
---|---|---|
committer | Taseer Ahmed <taseer94@gmail.com> | 2017-08-20 22:15:25 +0500 |
commit | 0cfd0baf13b2cf1d78cbe98b2c7ded9e51ffe952 (patch) | |
tree | 875432c5fdde8ba90f1b8bbefe55b9492d7f7766 /docker/storperf-master/rest_server.py | |
parent | eb04143319767bb713844c3121338cab5ca5c994 (diff) |
REST API for logs
JIRA: STORPERF-94
Change-Id: I59189109d7f731977fc682b3fb78e60bc92a8270
Signed-off-by: Taseer Ahmed <taseer94@gmail.com>
Diffstat (limited to 'docker/storperf-master/rest_server.py')
-rw-r--r-- | docker/storperf-master/rest_server.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/docker/storperf-master/rest_server.py b/docker/storperf-master/rest_server.py index 19f87ca..8d1ad78 100644 --- a/docker/storperf-master/rest_server.py +++ b/docker/storperf-master/rest_server.py @@ -26,6 +26,35 @@ api = swagger.docs(Api(app), apiVersion='1.0') storperf = StorPerfMaster() +class Logs(Resource): + def __init__(self): + self.logger = logging.getLogger(__name__) + + @swagger.operation( + notes="Fetch logs", + parameters=[ + { + "name": "lines", + "description": "The number of lines to fetch", + "required": "False", + "type": "string", + "allowedMultiple": "False", + "paramType": "query" + } + ] + ) + def get(self): + lines = request.args.get('lines') + if lines: + try: + lines = int(lines) + except Exception: + pass + else: + lines = 35 + return jsonify({'logs': storperf.get_logs(lines)}) + + @swagger.model class ConfigurationRequestModel: resource_fields = { @@ -343,6 +372,7 @@ def setup_logging(default_path='logging.json', api.add_resource(Configure, "/api/v1.0/configurations") api.add_resource(Quota, "/api/v1.0/quotas") api.add_resource(Job, "/api/v1.0/jobs") +api.add_resource(Logs, "/api/v1.0/logs") if __name__ == "__main__": setup_logging() |