实时日志API

This commit is contained in:
jxxghp 2023-08-04 12:42:38 +08:00
parent fca69d1dbd
commit 6188b48be0
2 changed files with 23 additions and 1 deletions

View File

@ -1,5 +1,6 @@
import json import json
import time import time
import tailer
from datetime import datetime from datetime import datetime
from typing import Union from typing import Union
@ -86,6 +87,26 @@ def get_progress(token: str):
return StreamingResponse(event_generator(), media_type="text/event-stream") return StreamingResponse(event_generator(), media_type="text/event-stream")
@router.get("/logging", summary="实时日志")
def get_logging(token: str):
"""
实时获取系统日志返回格式为SSE
"""
if not token or not verify_token(token):
raise HTTPException(
status_code=403,
detail="认证失败!",
)
def log_generator():
while True:
for text in tailer.follow(open(settings.LOG_PATH / 'moviepilot.log')):
yield 'data: %s\n\n' % (text or '')
time.sleep(1)
return StreamingResponse(log_generator(), media_type="text/event-stream")
@router.get("/nettest", summary="测试网络连通性") @router.get("/nettest", summary="测试网络连通性")
def nettest(url: str, def nettest(url: str,
proxy: bool, proxy: bool,

View File

@ -45,4 +45,5 @@ tvdb_api~=3.1
psutil~=5.9.4 psutil~=5.9.4
python_hosts~=1.0.3 python_hosts~=1.0.3
tmdbv3api~=1.7.7 tmdbv3api~=1.7.7
watchdog~=3.0.0 watchdog~=3.0.0
tailer~=0.4.1