("warn")
+ const [savingLogLevel, setSavingLogLevel] = useState(false)
+
+ const { data: configData } = useQuery({
+ queryKey: ["config"],
+ queryFn: getAppConfig,
+ })
+
+ useEffect(() => {
+ setLogLevel(getGatewayLogLevel(configData))
+ }, [configData])
+
+ const handleLogLevelChange = async (nextValue: string) => {
+ const nextLevel = nextValue as GatewayLogLevel
+ const previousLevel = logLevel
+ setLogLevel(nextLevel)
+ setSavingLogLevel(true)
+
+ try {
+ await patchAppConfig({
+ gateway: {
+ log_level: nextLevel,
+ },
+ })
+ await queryClient.invalidateQueries({ queryKey: ["config"] })
+ await refreshGatewayState({ force: true })
+ } catch (error) {
+ setLogLevel(previousLevel)
+ toast.error(
+ error instanceof Error
+ ? error.message
+ : t("pages.logs.log_level_error"),
+ )
+ } finally {
+ setSavingLogLevel(false)
+ }
+ }
+
+ return (
+
+
+
+ )
+}
diff --git a/web/frontend/src/components/logs/logs-page.tsx b/web/frontend/src/components/logs/logs-page.tsx
index a4c458fa2..853da223a 100644
--- a/web/frontend/src/components/logs/logs-page.tsx
+++ b/web/frontend/src/components/logs/logs-page.tsx
@@ -1,6 +1,7 @@
import { IconTrash } from "@tabler/icons-react"
import { useTranslation } from "react-i18next"
+import { LogLevelSelect } from "@/components/logs/log-level-select"
import { LogsPanel } from "@/components/logs/logs-panel"
import { PageHeader } from "@/components/page-header"
import { Button } from "@/components/ui/button"
@@ -17,15 +18,19 @@ export function LogsPage() {
-
- {t("pages.logs.clear")}
-
+ <>
+
+
+
+ >
}
/>
diff --git a/web/frontend/src/i18n/locales/en.json b/web/frontend/src/i18n/locales/en.json
index 69e256758..c512eafbe 100644
--- a/web/frontend/src/i18n/locales/en.json
+++ b/web/frontend/src/i18n/locales/en.json
@@ -547,6 +547,7 @@
"unsaved_changes": "You have unsaved changes."
},
"logs": {
+ "log_level_error": "Failed to update log level.",
"clear": "Clear logs",
"empty": "Waiting for logs..."
}
diff --git a/web/frontend/src/i18n/locales/zh.json b/web/frontend/src/i18n/locales/zh.json
index e7aca1918..54d3fe1b3 100644
--- a/web/frontend/src/i18n/locales/zh.json
+++ b/web/frontend/src/i18n/locales/zh.json
@@ -547,6 +547,7 @@
"unsaved_changes": "您有未保存的更改。"
},
"logs": {
+ "log_level_error": "更新日志等级失败。",
"clear": "清空日志",
"empty": "等待日志中..."
}