AuthColumnRenderer.tsx 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. import { Column } from 'react-data-grid'
  2. import { TimestampInfo } from 'ui-patterns/TimestampInfo'
  3. import type { LogData } from '../Logs.types'
  4. import { RowLayout, SeverityFormatter, TextFormatter } from '../LogsFormatters'
  5. import { defaultRenderCell } from './DefaultPreviewColumnRenderer'
  6. import { parseAuthLogEventMessage } from '@/components/interfaces/UnifiedLogs/UnifiedLogs.utils'
  7. const columns: Column<LogData>[] = [
  8. {
  9. name: 'auth-first-column',
  10. key: 'auth-first-column',
  11. renderHeaderCell: () => null,
  12. renderCell: (props) => {
  13. if (!props.row.level) {
  14. return defaultRenderCell(props)
  15. }
  16. return (
  17. <RowLayout>
  18. <TimestampInfo utcTimestamp={props.row.timestamp!} />
  19. {props.row.level && <SeverityFormatter value={props.row.level as string} />}
  20. <TextFormatter
  21. className="w-full"
  22. value={`${props.row.path ? props.row.path + ' | ' : ''}${
  23. // not all log events have metadata.msg
  24. (props.row.msg as string)?.trim() || parseAuthLogEventMessage(props.row.event_message)
  25. }`}
  26. />
  27. </RowLayout>
  28. )
  29. },
  30. },
  31. ]
  32. export default columns