实时日志API
This commit is contained in:
parent
fca69d1dbd
commit
6188b48be0
@ -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,
|
||||||
|
@ -46,3 +46,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
|
Loading…
x
Reference in New Issue
Block a user