Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 | 6x 6x 6x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 6x 7x 8x 8x 6x 7x 7x 7x 2x 2x 2x 2x 2x 2x 5x 7x 7x 7x 7x 7x 7x 7x 6x 10x 20x 20x 20x 20x 20x 20x 6x 5x 5x 5x 6x 6x 6x | import { Component, OnDestroy, OnInit } from '@angular/core'; import { LogsService } from '../../../shared/api/logs.service'; @Component({ selector: 'cd-logs', template: require('./logs.component.html'), styles: [] }) export class LogsComponent implements OnInit, OnDestroy { contentData: any; clog: Array<any>; audit_log: Array<any>; interval: number; bsConfig = { dateInputFormat: 'YYYY-MM-DD', containerClass: 'theme-default' }; prioritys: Array<{ name: string; value: string }> = [ { name: 'Info', value: '[INF]' }, { name: 'Warning', value: '[WRN]' }, { name: 'Error', value: '[ERR]' }, { name: 'All', value: 'All' } ]; priority = 'All'; search = ''; selectedDate: Date; startTime: Date = new Date(); endTime: Date = new Date(); constructor(private logsService: LogsService) { this.startTime.setHours(0, 0); this.endTime.setHours(23, 59); } ngOnInit() { this.getInfo(); this.interval = window.setInterval(() => { this.getInfo(); }, 5000); } ngOnDestroy() { clearInterval(this.interval); } getInfo() { this.logsService.getLogs().subscribe((data: any) => { this.contentData = data; this.filterLogs(); }); } abstractfilters(): any { const priority = this.priority; const key = this.search.toLowerCase().replace(/,/g, ''); let yearMonthDay: string; if (this.selectedDate) { const m = this.selectedDate.getMonth() + 1; const d = this.selectedDate.getDate(); const year = this.selectedDate.getFullYear().toString(); const month = m <= 9 ? `0${m}` : `${m}`; const day = d <= 9 ? `0${d}` : `${d}`; yearMonthDay = `${year}-${month}-${day}`; } else { yearMonthDay = ''; } const sHour = this.startTime ? this.startTime.getHours() : 0; const sMinutes = this.startTime ? this.startTime.getMinutes() : 0; const sTime = sHour * 60 + sMinutes; const eHour = this.endTime ? this.endTime.getHours() : 23; const eMinutes = this.endTime ? this.endTime.getMinutes() : 59; const eTime = eHour * 60 + eMinutes; return { priority, key, yearMonthDay, sTime, eTime }; } filterExecutor(logs: Array<any>, filters: any): Array<any> { return logs.filter((line) => { const hour = parseInt(line.stamp.slice(11, 13), 10); const minutes = parseInt(line.stamp.slice(14, 16), 10); let prio: string, y_m_d: string, timeSpan: number; prio = filters.priority === 'All' ? line.priority : filters.priority; y_m_d = filters.yearMonthDay ? filters.yearMonthDay : line.stamp; timeSpan = hour * 60 + minutes; return ( line.priority === prio && line.message.toLowerCase().indexOf(filters.key) !== -1 && line.stamp.indexOf(y_m_d) !== -1 && timeSpan >= filters.sTime && timeSpan <= filters.eTime ); }); } filterLogs() { const filters = this.abstractfilters(); this.clog = this.filterExecutor(this.contentData.clog, filters); this.audit_log = this.filterExecutor(this.contentData.audit_log, filters); } clearSearchKey() { this.search = ''; this.filterLogs(); } clearDate() { this.selectedDate = null; this.filterLogs(); } } |