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