mirror of
https://github.com/mofeng-git/One-KVM.git
synced 2025-12-12 01:00:29 +08:00
automatic choosing journald services
This commit is contained in:
parent
0bf39f56e2
commit
43f161f9c4
@ -10,11 +10,6 @@ kvmd:
|
|||||||
info:
|
info:
|
||||||
meta: /etc/kvmd/meta.yaml
|
meta: /etc/kvmd/meta.yaml
|
||||||
|
|
||||||
log:
|
|
||||||
services:
|
|
||||||
- kvmd.service
|
|
||||||
- kvmd-tc358743.service
|
|
||||||
|
|
||||||
hid:
|
hid:
|
||||||
pinout:
|
pinout:
|
||||||
reset: 4
|
reset: 4
|
||||||
|
|||||||
@ -10,11 +10,6 @@ kvmd:
|
|||||||
info:
|
info:
|
||||||
meta: /etc/kvmd/meta.yaml
|
meta: /etc/kvmd/meta.yaml
|
||||||
|
|
||||||
log:
|
|
||||||
services:
|
|
||||||
- kvmd.service
|
|
||||||
- kvmd-tc358743.service
|
|
||||||
|
|
||||||
hid:
|
hid:
|
||||||
pinout:
|
pinout:
|
||||||
reset: 4
|
reset: 4
|
||||||
|
|||||||
@ -22,10 +22,7 @@ def main() -> None:
|
|||||||
loop = asyncio.get_event_loop()
|
loop = asyncio.get_event_loop()
|
||||||
http_session = aiohttp.ClientSession(loop=loop)
|
http_session = aiohttp.ClientSession(loop=loop)
|
||||||
|
|
||||||
log = Log(
|
log = Log(loop)
|
||||||
services=list(config["log"]["services"]),
|
|
||||||
loop=loop,
|
|
||||||
)
|
|
||||||
|
|
||||||
hid = Hid(
|
hid = Hid(
|
||||||
reset=int(config["hid"]["pinout"]["reset"]),
|
reset=int(config["hid"]["pinout"]["reset"]),
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
import sys
|
import sys
|
||||||
|
import re
|
||||||
import asyncio
|
import asyncio
|
||||||
import logging
|
import logging
|
||||||
import time
|
import time
|
||||||
|
|
||||||
from typing import List
|
|
||||||
from typing import Dict
|
from typing import Dict
|
||||||
from typing import AsyncGenerator
|
from typing import AsyncGenerator
|
||||||
|
|
||||||
@ -24,13 +24,7 @@ def get_logger(depth: int=1) -> logging.Logger:
|
|||||||
|
|
||||||
|
|
||||||
class Log:
|
class Log:
|
||||||
def __init__(
|
def __init__(self, loop: asyncio.AbstractEventLoop) -> None:
|
||||||
self,
|
|
||||||
services: List[str],
|
|
||||||
loop: asyncio.AbstractEventLoop,
|
|
||||||
) -> None:
|
|
||||||
|
|
||||||
self.__services = services
|
|
||||||
self.__loop = loop
|
self.__loop = loop
|
||||||
|
|
||||||
async def poll_log(self, seek: int, follow: bool) -> AsyncGenerator[Dict, None]:
|
async def poll_log(self, seek: int, follow: bool) -> AsyncGenerator[Dict, None]:
|
||||||
@ -38,7 +32,14 @@ class Log:
|
|||||||
reader.this_boot()
|
reader.this_boot()
|
||||||
reader.this_machine()
|
reader.this_machine()
|
||||||
reader.log_level(systemd.journal.LOG_DEBUG)
|
reader.log_level(systemd.journal.LOG_DEBUG)
|
||||||
for service in self.__services:
|
|
||||||
|
services = set(
|
||||||
|
service
|
||||||
|
for service in systemd.journal.Reader().query_unique("_SYSTEMD_UNIT")
|
||||||
|
if re.match(r"kvmd(-\w+)?\.service", service)
|
||||||
|
).union(["kvmd.service"])
|
||||||
|
|
||||||
|
for service in services:
|
||||||
reader.add_match(_SYSTEMD_UNIT=service)
|
reader.add_match(_SYSTEMD_UNIT=service)
|
||||||
if seek > 0:
|
if seek > 0:
|
||||||
reader.seek_realtime(float(time.time() - seek))
|
reader.seek_realtime(float(time.time() - seek))
|
||||||
|
|||||||
@ -7,10 +7,6 @@ kvmd:
|
|||||||
info:
|
info:
|
||||||
meta: /etc/kvmd/meta.yaml
|
meta: /etc/kvmd/meta.yaml
|
||||||
|
|
||||||
log:
|
|
||||||
services:
|
|
||||||
- kvmd.service
|
|
||||||
|
|
||||||
hid:
|
hid:
|
||||||
pinout:
|
pinout:
|
||||||
reset: 4
|
reset: 4
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user