浏览代码

HUE-6588 [jb] Adding default log display of the most important task attempt logs on main page

Romain Rigaux 8 年之前
父节点
当前提交
94a9efb

+ 7 - 5
apps/jobbrowser/src/jobbrowser/apis/job_api.py

@@ -23,6 +23,7 @@ from hadoop.yarn import resource_manager_api
 
 from desktop.lib.exceptions import MessageException
 from desktop.lib.exceptions_renderable import PopupException
+from jobbrowser.views import job_single_logs
 
 
 LOG = logging.getLogger(__name__)
@@ -183,12 +184,13 @@ class YarnApi(Api):
 
 
   def logs(self, appid, app_type, log_name):
-    if log_name == 'default':
-      log_name = 'syslog'
-
     if app_type == 'MAPREDUCE':
-      response = job_attempt_logs_json(MockDjangoRequest(self.user), job=appid, name=log_name)
-      logs = json.loads(response.content).get('log')
+      if log_name == 'default':
+        response = job_single_logs(MockDjangoRequest(self.user), job=appid)
+        logs = json.loads(response.content).get('logs')
+      else:
+        response = job_attempt_logs_json(MockDjangoRequest(self.user), job=appid, name=log_name)
+        logs = json.loads(response.content).get('log')
     else:
       logs = None
     return {'logs': logs}

+ 2 - 2
apps/jobbrowser/src/jobbrowser/templates/job_browser.mako

@@ -481,8 +481,8 @@ ${ commonheader("Job Browser", "jobbrowser", user, request) | n,unicode }
       <div class="tab-content">
         <div class="tab-pane active" id="job-mapreduce-page-logs${ SUFFIX }">
           <ul class="nav nav-tabs">
-          % for name in ['stdout', 'stderr', 'syslog']:
-            <li class="${ name == 'syslog' and 'active' or '' }"><a href="javascript:void(0)" data-bind="click: function(data, e) { $(e.currentTarget).parent().siblings().removeClass('active'); $(e.currentTarget).parent().addClass('active'); fetchLogs('${ name }'); }, text: '${ name }'"></a></li>
+          % for name in ['default', 'stdout', 'stderr', 'syslog']:
+            <li class="${ name == 'default' and 'active' or '' }"><a href="javascript:void(0)" data-bind="click: function(data, e) { $(e.currentTarget).parent().siblings().removeClass('active'); $(e.currentTarget).parent().addClass('active'); fetchLogs('${ name }'); }, text: '${ name }'"></a></li>
           % endfor
           </ul>