]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - client/src/app/+admin/system/logs/logs.component.html
Serve audit logs to client
[github/Chocobozzz/PeerTube.git] / client / src / app / +admin / system / logs / logs.component.html
1 <div class="header">
2 <div class="peertube-select-container">
3 <select [(ngModel)]="logType" (ngModelChange)="refresh()">
4 <option *ngFor="let logTypeChoice of logTypeChoices" [value]="logTypeChoice.id">{{ logTypeChoice.label }}</option>
5 </select>
6 </div>
7
8 <div class="peertube-select-container">
9 <select [(ngModel)]="startDate" (ngModelChange)="refresh()">
10 <option *ngFor="let timeChoice of timeChoices" [value]="timeChoice.id">{{ timeChoice.label }}</option>
11 </select>
12 </div>
13
14 <div class="peertube-select-container" *ngIf="!isAuditLog()">
15 <select [(ngModel)]="level" (ngModelChange)="refresh()">
16 <option *ngFor="let levelChoice of levelChoices" [value]="levelChoice.id">{{ levelChoice.label }}</option>
17 </select>
18 </div>
19
20 <my-button i18n-label label="Refresh" icon="refresh" (click)="refresh()"></my-button>
21 </div>
22
23 <div class="logs">
24 <div *ngIf="loading">Loading...</div>
25
26 <div #logsElement>
27 <div *ngFor="let log of logs" class="log-row" [ngClass]="{ error: log.level === 'error', warn: log.level === 'warn' }">
28 <span class="log-level">{{ log.level }}</span>
29
30 <span class="log-date">[{{ log.localeDate }}]</span>
31
32 <strong class="log-by" *ngIf="log.by" i18n>By {{ log.by }} -></strong>
33 <strong class="log-domain-action" *ngIf="log.domain">{{ log.domain }} -> {{ log.action }}</strong>
34
35 {{ log.message }}
36
37 <pre>{{ log.meta }}</pre>
38 </div>
39 </div>
40 </div>