logs_model.ts 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. import _ from 'lodash';
  2. import { TimeSeries } from 'app/core/core';
  3. import colors from 'app/core/utils/colors';
  4. export enum LogLevel {
  5. crit = 'crit',
  6. warn = 'warn',
  7. err = 'error',
  8. error = 'error',
  9. info = 'info',
  10. debug = 'debug',
  11. trace = 'trace',
  12. none = 'none',
  13. }
  14. export const LogLevelColor = {
  15. [LogLevel.crit]: colors[7],
  16. [LogLevel.warn]: colors[1],
  17. [LogLevel.err]: colors[4],
  18. [LogLevel.error]: colors[4],
  19. [LogLevel.info]: colors[0],
  20. [LogLevel.debug]: colors[3],
  21. [LogLevel.trace]: colors[3],
  22. [LogLevel.none]: '#eee',
  23. };
  24. export interface LogSearchMatch {
  25. start: number;
  26. length: number;
  27. text: string;
  28. }
  29. export interface LogRow {
  30. key: string;
  31. entry: string;
  32. labels: string;
  33. logLevel: LogLevel;
  34. timestamp: string;
  35. timeFromNow: string;
  36. timeJs: number;
  37. timeLocal: string;
  38. searchWords?: string[];
  39. }
  40. export interface LogsMetaItem {
  41. label: string;
  42. value: string;
  43. }
  44. export interface LogsModel {
  45. meta?: LogsMetaItem[];
  46. rows: LogRow[];
  47. series?: TimeSeries[];
  48. }
  49. export interface LogsStream {
  50. labels: string;
  51. entries: LogsStreamEntry[];
  52. parsedLabels: { [key: string]: string };
  53. intervalMs?: number;
  54. }
  55. export interface LogsStreamEntry {
  56. line: string;
  57. timestamp: string;
  58. }