-
- {tableInfo.timeField && (
+
+
+ {tableInfo.timeField && (
+
+ )}
+
{convertTime(log?.timestamp, 'yyyy-mm-dd hh:mm:ss.SSS')}
+
+ {openContextModal && !tableInfo.timeField && (
+ variant="filled"
+ size="small"
+ onClick={() => openContextModal(log)}
+ className="text-xs"
+ >
+ 查看上下文
+
)}
- {convertTime(log?.timestamp, 'yyyy-mm-dd hh:mm:ss')}
{/* 具体日志 */}
diff --git a/frontend/src/views/logs/component/FullLogs/component/LogQueryResult/QueryList/index.jsx b/frontend/src/views/logs/component/FullLogs/component/LogQueryResult/QueryList/index.jsx
index 845d01f..e0e9a8b 100644
--- a/frontend/src/views/logs/component/FullLogs/component/LogQueryResult/QueryList/index.jsx
+++ b/frontend/src/views/logs/component/FullLogs/component/LogQueryResult/QueryList/index.jsx
@@ -1,21 +1,17 @@
-import React, { useEffect, useState } from 'react'
-import { AiFillCaretDown, AiFillCaretRight } from 'react-icons/ai'
-import { useLogsContext } from 'src/contexts/LogsContext'
+import React from 'react'
import LogItem from './LogItem'
import { Empty, List } from 'antd'
-const QueryList = () => {
- const { logs } = useLogsContext()
+const QueryList = ({ logs, openContextModal = null }) => {
return (
{logs?.length > 0 ? (
(
-
+
)}
/>
diff --git a/frontend/src/views/logs/component/FullLogs/component/LogQueryResult/index.jsx b/frontend/src/views/logs/component/FullLogs/component/LogQueryResult/index.jsx
index 4c62bb9..0d5334c 100644
--- a/frontend/src/views/logs/component/FullLogs/component/LogQueryResult/index.jsx
+++ b/frontend/src/views/logs/component/FullLogs/component/LogQueryResult/index.jsx
@@ -1,11 +1,28 @@
-import React from 'react'
+import React, { useEffect, useState } from 'react'
import QueryList from './QueryList'
import { Pagination } from 'antd'
import { useLogsContext } from 'src/contexts/LogsContext'
import Histogram from './Histogram'
+import ContextModal from './ContextModal'
const LogQueryResult = () => {
- const { pagination, updateLogsPagination } = useLogsContext()
+ const { pagination, updateLogsPagination, logs, tableInfo, query } = useLogsContext()
+
+ const [modalVisible, setModalVisible] = useState(false)
+ const [contextLogParams, setContextLogParams] = useState(null)
+ const openContextModal = (logInfo) => {
+ setModalVisible(true)
+ setContextLogParams({
+ dataBase: tableInfo.dataBase,
+ tableName: tableInfo.tableName,
+ tags: logInfo.tags,
+ timestamp: logInfo.timestamp,
+ })
+ }
+ const closeContextModal = () => {
+ setModalVisible(false)
+ setContextLogParams(null)
+ }
const changePagination = (page, pageSize) => {
updateLogsPagination({
pageSize: pageSize,
@@ -13,10 +30,13 @@ const LogQueryResult = () => {
total: pagination.total,
})
}
+ useEffect(() => {
+ if (modalVisible) closeContextModal()
+ }, [query])
return (
-
+
{
onChange={changePagination}
showTotal={(total) => `日志总条数: ${total} `}
/>
+
)
}
diff --git a/frontend/src/views/logs/component/FullLogs/component/Sider/DataSourceTree/index.jsx b/frontend/src/views/logs/component/FullLogs/component/Sider/DataSourceTree/index.jsx
index a4c7389..1e54648 100644
--- a/frontend/src/views/logs/component/FullLogs/component/Sider/DataSourceTree/index.jsx
+++ b/frontend/src/views/logs/component/FullLogs/component/Sider/DataSourceTree/index.jsx
@@ -108,7 +108,7 @@ const DataSourceTree = () => {
}, [instances])
const onSelect = (selectedKeys, { selected, selectedNodes }) => {
- if (selected && selectedNodes[0]?.tableName) {
+ if (selected && selectedNodes?.[0]?.tableName) {
updateTableInfo({
dataBase: selectedNodes[0].dataBase,
tableName: selectedNodes[0].tableName,