portainer/app/kubernetes/views/applications/logs/logs.html

63 lines
2.9 KiB
HTML

<kubernetes-view-header title="Application logs" state="kubernetes.applications.application.logs" view-ready="ctrl.state.viewReady">
<a ui-sref="kubernetes.resourcePools">Resource pools</a> &gt;
<a ui-sref="kubernetes.resourcePools.resourcePool({ id: ctrl.application.ResourcePool })">{{ ctrl.application.ResourcePool }}</a> &gt;
<a ui-sref="kubernetes.applications">Applications</a> &gt;
<a ui-sref="kubernetes.applications.application({ name: ctrl.application.Name, namespace: ctrl.application.ResourcePool })">{{ ctrl.application.Name }}</a> &gt; Pods &gt;
{{ ctrl.podName }} &gt; Logs
</kubernetes-view-header>
<kubernetes-view-loading view-ready="ctrl.state.viewReady"></kubernetes-view-loading>
<div ng-if="ctrl.state.viewReady" style="height: 100%;">
<div class="row">
<div class="col-sm-12">
<rd-widget>
<rd-widget-body>
<form class="form-horizontal" autocomplete="off">
<div class="col-sm-12 form-section-title">
Actions
</div>
<!-- auto-refresh -->
<div class="form-group">
<div class="col-sm-12">
<label class="control-label text-left">
Auto-refresh
<portainer-tooltip position="bottom" message="Automatically refresh logs every 5 seconds"></portainer-tooltip>
</label>
<label class="switch" style="margin-left: 20px;"> <input type="checkbox" ng-model="ctrl.state.autoRefresh" ng-change="ctrl.updateAutoRefresh()" /><i></i> </label>
</div>
</div>
<!-- !auto-refresh -->
<!-- search -->
<div class="form-group">
<label for="logs_search" class="col-sm-1 control-label text-left">
Search
</label>
<div class="col-sm-11">
<input
class="form-control"
type="text"
name="logs_search"
ng-model="ctrl.state.search"
ng-change="ctrl.state.selectedLines.length = 0;"
placeholder="Filter..."
auto-focus
/>
</div>
</div>
<!-- !search -->
</form>
</rd-widget-body>
</rd-widget>
</div>
</div>
<div class="row" style="height: 54%;">
<div class="col-sm-12" style="height: 100%;">
<pre
class="log_viewer"
><div ng-repeat="line in ctrl.state.filteredLogs = (ctrl.applicationLogs | filter:ctrl.state.search) track by $index" class="line" ng-if="line"><p class="inner_line">{{ line }}</p></div><div ng-if="ctrl.applicationLogs.length && !ctrl.state.filteredLogs.length" class="line"><p class="inner_line">No log line matching the '{{ ctrl.state.search }}' filter</p></div><div ng-if="ctrl.applicationLogs.length === 0" class="line"><p class="inner_line">No logs available</p></div></pre>
</div>
</div>
</div>