From 815d4c90cd1e6bf300d3a68c207bece2810c5d06 Mon Sep 17 00:00:00 2001 From: Matthias Gorzellik Date: Wed, 1 Jul 2020 23:49:10 +0200 Subject: [PATCH] added 'server.log' to instance view --- instances/Executor.py | 2 ++ instances/urls.py | 1 + instances/views.py | 10 +++++++++- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/instances/Executor.py b/instances/Executor.py index c86afe8e..e0cf4b02 100644 --- a/instances/Executor.py +++ b/instances/Executor.py @@ -28,6 +28,7 @@ def __init__(self, instanceDir): self.p = None self.stdout = None self.stderr = None + self.serverlog = None self.retval = None self.instanceDir = instanceDir @@ -47,6 +48,7 @@ def run(self): _tm = datetime.datetime.now().strftime('%Y-%m-%d-%H-%M-%S') self.stdout = os.path.join(self.instanceDir, 'log', 'stdout-%s.log'%(_tm)) self.stderr = os.path.join(self.instanceDir, 'log', 'stderr-%s.log'%(_tm)) + self.serverlog = os.path.join(self.instanceDir, 'log', 'server.log') self.p = subprocess.Popen(exec, # set working dir cwd=self.instanceDir, diff --git a/instances/urls.py b/instances/urls.py index 292cc250..b63c9e4f 100644 --- a/instances/urls.py +++ b/instances/urls.py @@ -11,6 +11,7 @@ path('/delete', views.delete, name='delete'), path('/stderr', views.stderr, name='stderr'), path('/stdout', views.stdout, name='stdout'), + path('/serverlog', views.serverlog, name='serverlog'), path('/configuration', views.download_configuration_file, name='configuration'), path('/event', views.download_event_file, name='event'), path('/settings', views.download_settings_file, name='settings'), diff --git a/instances/views.py b/instances/views.py index 24760ba0..5ffe8a07 100644 --- a/instances/views.py +++ b/instances/views.py @@ -25,6 +25,7 @@ resources = [ ('stdout', "Latest stdout", "Download full"), ('stderr', "Latest stderr", "Download full"), + ('serverlog', "Server log", "Download full"), ('configuration', "configuration.json", "Download"), ('event', "event.json", "Download"), ('settings', "settings.json", "Download"), @@ -42,7 +43,7 @@ def instance(request, name): return HttpResponse(template.render( {'path' : [(j, '/'+'/'.join(path[:i+1])) for i,j in enumerate(path)], - 'resources': [dict(path=r[0], label=r[1], text=r[2], update=r[0] in ['stdout','stderr']) for r in resources]}, + 'resources': [dict(path=r[0], label=r[1], text=r[2], update=r[0] in ['stdout','stderr','serverlog']) for r in resources]}, request)) @@ -60,6 +61,13 @@ def stderr(request, name): return log(executors[name].stderr, int(request.POST['lines'])) +@login_required +def serverlog(request, name): + if 'lines' not in request.POST: + return download(executors[name].serverlog) + return log(executors[name].serverlog, int(request.POST['lines'])) + + @login_required def download_configuration_file(request, name): cfg = os.path.join(settings.INSTANCES, name, 'cfg', 'configuration.json')