Add hub system logs page with PM2 stdout/stderr tabs for all exchanges.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-07-09 10:33:14 +08:00
parent 9eb10ba771
commit 5214794f95
8 changed files with 479 additions and 2 deletions
+16
View File
@@ -95,6 +95,7 @@ from lib.hub.hub_strategy_lib import (
load_strategy_payload,
strategy_meta_payload,
)
from lib.hub.hub_system_logs_lib import load_system_logs, system_logs_meta
from lib.hub.hub_macro_calendar_lib import (
MACRO_EVENT_LABELS,
MACRO_EVENT_TYPES,
@@ -971,6 +972,7 @@ def root_redirect():
@app.get("/funds")
@app.get("/ai")
@app.get("/strategy")
@app.get("/logs")
@app.get("/settings")
def shell_pages():
return _shell_page()
@@ -1081,6 +1083,7 @@ class SettingsDisplayBody(BaseModel):
show_nav_ai: bool = True
show_nav_calculator: bool = True
show_nav_strategy: bool = True
show_nav_logs: bool = True
class SupervisorSettingsBody(BaseModel):
@@ -3261,6 +3264,19 @@ def api_strategy_meta():
return strategy_meta_payload()
@app.get("/api/system-logs/meta")
def api_system_logs_meta():
return system_logs_meta()
@app.get("/api/system-logs/{target}")
def api_system_logs(target: str, lines: int = 200):
try:
return load_system_logs(target, lines=lines)
except KeyError:
return JSONResponse({"ok": False, "msg": "unknown log target"}, status_code=404)
@app.get("/api/strategy/{exchange_key}")
def api_strategy_detail(exchange_key: str):
try: