Explorar o código

HUE-6082 [core] Initial port of the logs page

Enrico Berti %!s(int64=8) %!d(string=hai) anos
pai
achega
76644e7

+ 1 - 1
apps/about/src/about/templates/admin_wizard.mako

@@ -405,4 +405,4 @@ $(document).ready(function(){
 
 %if not is_embeddable:
 ${ commonfooter(request, messages) | n,unicode }
-%endif
+%endif

+ 4 - 0
desktop/core/src/desktop/templates/hue.mako

@@ -349,6 +349,7 @@ ${ hueIcons.symbols() }
       <div id="embeddable_security_solr" class="embeddable"></div>
       <div id="embeddable_help" class="embeddable"></div>
       <div id="embeddable_admin_wizard" class="embeddable"></div>
+      <div id="embeddable_logs" class="embeddable"></div>
     </div>
 
     <div id="rightResizer" class="resizer" data-bind="visible: rightAssistVisible() && rightAssistAvailable(), splitFlexDraggable : {
@@ -537,6 +538,7 @@ ${ assist.assistPanel() }
         security_solr: '/security/solr?is_embeddable=true',
         help: '/help/?is_embeddable=true',
         admin_wizard: '/about/admin_wizard?is_embeddable=true',
+        logs: '/logs?is_embeddable=true',
       };
 
       var SKIP_CACHE = ['fileviewer', 'useradmin_users', 'useradmin_groups', 'useradmin_permissions', 'useradmin_configurations', 'useradmin_newuser'];
@@ -695,6 +697,8 @@ ${ assist.assistPanel() }
             self.currentApp('help');
           } else if (href.startsWith('/about/admin_wizard')) {
             self.currentApp('admin_wizard');
+          } else if (href.startsWith('/logs')) {
+            self.currentApp('logs');
           }
         });
 

+ 8 - 7
desktop/core/src/desktop/templates/logs.mako

@@ -23,8 +23,9 @@ import re
 
 <%namespace name="actionbar" file="actionbar.mako" />
 <%namespace name="layout" file="about_layout.mako" />
-
+%if not is_embeddable:
 ${ commonheader(_('Server Logs'), "about", user, request) | n,unicode }
+%endif
 ${layout.menubar(section='log_view')}
 
 <style type="text/css">
@@ -62,11 +63,11 @@ ${layout.menubar(section='log_view')}
   }
 </style>
 
-<div class="container-fluid">
+<div id="logsComponents" class="container-fluid">
   <div class="card card-small">
     <%actionbar:render>
       <%def name="search()">
-        <input type="text" class="input-xxlarge search-query" placeholder="${_('Search in the logs')}" value="${query}">
+        <input type="text" class="input-xlarge search-query" placeholder="${_('Search in the logs')}" value="${query}">
       </%def>
       <%def name="creation()">
         <form class="form-inline">
@@ -131,11 +132,9 @@ ${layout.menubar(section='log_view')}
     };
   }
 
-  var viewModel;
-
   $(document).ready(function () {
-    viewModel = new LiveDebugging();
-    ko.applyBindings(viewModel, $(".action-main-bar")[0]);
+    var viewModel = new LiveDebugging();
+    ko.applyBindings(viewModel, $("#logsComponents")[0]);
 
     viewModel.getDebugLevel();
 
@@ -205,4 +204,6 @@ ${layout.menubar(section='log_view')}
   });
 </script>
 
+%if not is_embeddable:
 ${ commonfooter(request, messages) | n,unicode }
+%endif

+ 3 - 3
desktop/core/src/desktop/views.py

@@ -148,9 +148,9 @@ def log_view(request):
   l = logging.getLogger()
   for h in l.handlers:
     if isinstance(h, desktop.log.log_buffer.FixedBufferHandler):
-      return render('logs.mako', request, dict(log=[l for l in h.buf], query=request.GET.get("q", ""), hostname=hostname))
+      return render('logs.mako', request, dict(log=[l for l in h.buf], query=request.GET.get("q", ""), hostname=hostname, is_embeddable=request.GET.get('is_embeddable', False)))
 
-  return render('logs.mako', request, dict(log=[_("No logs found!")], query='', hostname=hostname))
+  return render('logs.mako', request, dict(log=[_("No logs found!")], query='', hostname=hostname, is_embeddable=request.GET.get('is_embeddable', False)))
 
 @access_log_level(logging.WARN)
 def download_log_view(request):
@@ -191,7 +191,7 @@ def download_log_view(request):
         LOG.exception("Couldn't construct zip file to write logs")
         return log_view(request)
 
-  return render_to_response("logs.mako", dict(log=[_("No logs found.")]))
+  return render_to_response("logs.mako", dict(log=[_("No logs found.")], is_embeddable=request.GET.get('is_embeddable', False)))
 
 
 @access_log_level(logging.DEBUG)