修复日志 API 错误

This commit is contained in:
mofeng-git 2024-10-05 05:59:08 +00:00
parent a1c14ac2d9
commit 2e8917257e
2 changed files with 10 additions and 10 deletions

View File

@ -61,6 +61,8 @@ class LogApi:
record["msg"], record["msg"],
)).encode("utf-8") + b"\r\n") )).encode("utf-8") + b"\r\n")
except Exception as e: except Exception as e:
await response.write(f"Module systemd.journal unavailable, switch to supervisord.\n{record}".encode("utf-8")) if record is None:
record = e
await response.write(f"Module systemd.journal is unavailable.\n{record}".encode("utf-8"))
return response return response
return response return response

View File

@ -30,21 +30,19 @@ from xmlrpc.client import ServerProxy
from ...logging import get_logger from ...logging import get_logger
us_systemd_journal = True
try: try:
module_name = "systemd.journal" import systemd.journal
module = __import__(module_name) except ImportError as e:
except ImportError: get_logger(0).error("Failed to import module: %s", "systemd.journal")
us_systemd_journal = False us_systemd_journal = False
get_logger(0).error("Failed to import module: %s", module_name)
try: try:
module_name = "supervisor.xmlrpc" import supervisor.xmlrpc
module = __import__(module_name) except ImportError as e:
except ImportError: get_logger(0).info("Failed to import module: %s", "supervisor.xmlrpc")
us_systemd_journal = True us_systemd_journal = True
# ===== # =====
class LogReader: class LogReader:
async def poll_log(self, seek: int, follow: bool) -> AsyncGenerator[dict, None]: async def poll_log(self, seek: int, follow: bool) -> AsyncGenerator[dict, None]: