mirror of
https://github.com/mofeng-git/One-KVM.git
synced 2025-12-12 01:00:29 +08:00
common logging.yaml
This commit is contained in:
parent
e97975fc15
commit
b690dbce44
9
Makefile
9
Makefile
@ -5,12 +5,15 @@ TESTENV_LOOP ?= /dev/loop7
|
|||||||
TESTENV_CMD ?= /bin/bash -c " \
|
TESTENV_CMD ?= /bin/bash -c " \
|
||||||
(socat PTY,link=$(TESTENV_HID) PTY,link=/dev/ttyS11 &) \
|
(socat PTY,link=$(TESTENV_HID) PTY,link=/dev/ttyS11 &) \
|
||||||
&& rm -rf /etc/nginx/* \
|
&& rm -rf /etc/nginx/* \
|
||||||
&& cp -r /configs/nginx/* /etc/nginx \
|
&& cp -r /usr/share/kvmd/configs/nginx/* /etc/nginx \
|
||||||
|
&& mkdir -p /etc/kvmd \
|
||||||
|
&& cp /usr/share/kvmd/configs/kvmd/logging.yaml /etc/kvmd/logging.yaml \
|
||||||
|
&& cp /testenv/kvmd.yaml /etc/kvmd \
|
||||||
&& nginx -c /etc/nginx/nginx.conf \
|
&& nginx -c /etc/nginx/nginx.conf \
|
||||||
&& ln -s $(TESTENV_VIDEO) /dev/kvmd-streamer \
|
&& ln -s $(TESTENV_VIDEO) /dev/kvmd-streamer \
|
||||||
&& (losetup -d /dev/kvmd-msd || true) \
|
&& (losetup -d /dev/kvmd-msd || true) \
|
||||||
&& losetup /dev/kvmd-msd /root/loop.img \
|
&& losetup /dev/kvmd-msd /root/loop.img \
|
||||||
&& python -m kvmd.apps.kvmd -c testenv/kvmd.yaml \
|
&& python -m kvmd.apps.kvmd -c /etc/kvmd/kvmd.yaml \
|
||||||
"
|
"
|
||||||
|
|
||||||
|
|
||||||
@ -29,8 +32,8 @@ run:
|
|||||||
- docker run --rm \
|
- docker run --rm \
|
||||||
--volume `pwd`/kvmd:/kvmd:ro \
|
--volume `pwd`/kvmd:/kvmd:ro \
|
||||||
--volume `pwd`/web:/usr/share/kvmd/web:ro \
|
--volume `pwd`/web:/usr/share/kvmd/web:ro \
|
||||||
|
--volume `pwd`/configs:/usr/share/kvmd/configs:ro \
|
||||||
--volume `pwd`/testenv:/testenv:ro \
|
--volume `pwd`/testenv:/testenv:ro \
|
||||||
--volume `pwd`/configs:/configs:ro \
|
|
||||||
--device $(TESTENV_LOOP):/dev/kvmd-msd \
|
--device $(TESTENV_LOOP):/dev/kvmd-msd \
|
||||||
--device $(TESTENV_VIDEO):$(TESTENV_VIDEO) \
|
--device $(TESTENV_VIDEO):$(TESTENV_VIDEO) \
|
||||||
--publish 8080:80/tcp \
|
--publish 8080:80/tcp \
|
||||||
|
|||||||
@ -73,26 +73,4 @@ kvmd:
|
|||||||
|
|
||||||
state_poll: 1.0
|
state_poll: 1.0
|
||||||
|
|
||||||
logging:
|
logging: !include logging.yaml
|
||||||
version: 1
|
|
||||||
disable_existing_loggers: false
|
|
||||||
|
|
||||||
formatters:
|
|
||||||
console:
|
|
||||||
(): logging.Formatter
|
|
||||||
style: "{"
|
|
||||||
format: "{name:30.30} {levelname:>7} --- {message}"
|
|
||||||
|
|
||||||
handlers:
|
|
||||||
console:
|
|
||||||
level: DEBUG
|
|
||||||
class: logging.StreamHandler
|
|
||||||
stream: ext://sys.stdout
|
|
||||||
formatter: console
|
|
||||||
|
|
||||||
root:
|
|
||||||
level: INFO
|
|
||||||
handlers:
|
|
||||||
- console
|
|
||||||
|
|
||||||
# vim: syntax=yaml filetype=yaml
|
|
||||||
@ -74,26 +74,4 @@ kvmd:
|
|||||||
|
|
||||||
state_poll: 1.0
|
state_poll: 1.0
|
||||||
|
|
||||||
logging:
|
logging: !include logging.yaml
|
||||||
version: 1
|
|
||||||
disable_existing_loggers: false
|
|
||||||
|
|
||||||
formatters:
|
|
||||||
console:
|
|
||||||
(): logging.Formatter
|
|
||||||
style: "{"
|
|
||||||
format: "{name:30.30} {levelname:>7} --- {message}"
|
|
||||||
|
|
||||||
handlers:
|
|
||||||
console:
|
|
||||||
level: DEBUG
|
|
||||||
class: logging.StreamHandler
|
|
||||||
stream: ext://sys.stdout
|
|
||||||
formatter: console
|
|
||||||
|
|
||||||
root:
|
|
||||||
level: INFO
|
|
||||||
handlers:
|
|
||||||
- console
|
|
||||||
|
|
||||||
# vim: syntax=yaml filetype=yaml
|
|
||||||
20
configs/kvmd/logging.yaml
Normal file
20
configs/kvmd/logging.yaml
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
version: 1
|
||||||
|
disable_existing_loggers: false
|
||||||
|
|
||||||
|
formatters:
|
||||||
|
console:
|
||||||
|
(): logging.Formatter
|
||||||
|
style: "{"
|
||||||
|
format: "{name:30.30} {levelname:>7} --- {message}"
|
||||||
|
|
||||||
|
handlers:
|
||||||
|
console:
|
||||||
|
level: DEBUG
|
||||||
|
class: logging.StreamHandler
|
||||||
|
stream: ext://sys.stdout
|
||||||
|
formatter: console
|
||||||
|
|
||||||
|
root:
|
||||||
|
level: INFO
|
||||||
|
handlers:
|
||||||
|
- console
|
||||||
@ -1,10 +1,15 @@
|
|||||||
|
import os
|
||||||
import argparse
|
import argparse
|
||||||
import logging
|
import logging
|
||||||
import logging.config
|
import logging.config
|
||||||
|
|
||||||
from typing import Dict
|
from typing import Dict
|
||||||
|
from typing import IO
|
||||||
|
from typing import Any
|
||||||
|
|
||||||
import yaml
|
import yaml
|
||||||
|
import yaml.loader
|
||||||
|
import yaml.nodes
|
||||||
|
|
||||||
|
|
||||||
# =====
|
# =====
|
||||||
@ -13,10 +18,32 @@ def init() -> Dict:
|
|||||||
parser.add_argument("-c", "--config", required=True, metavar="<path>")
|
parser.add_argument("-c", "--config", required=True, metavar="<path>")
|
||||||
options = parser.parse_args()
|
options = parser.parse_args()
|
||||||
|
|
||||||
with open(options.config) as config_file:
|
config: Dict = _load_yaml_file(options.config)
|
||||||
config = yaml.load(config_file)
|
|
||||||
|
|
||||||
logging.captureWarnings(True)
|
logging.captureWarnings(True)
|
||||||
logging.config.dictConfig(config["logging"])
|
logging.config.dictConfig(config["logging"])
|
||||||
|
|
||||||
return config["kvmd"]
|
return config
|
||||||
|
|
||||||
|
|
||||||
|
# =====
|
||||||
|
def _load_yaml_file(path: str) -> Any:
|
||||||
|
with open(path) as yaml_file:
|
||||||
|
try:
|
||||||
|
return yaml.load(yaml_file, _YamlLoader)
|
||||||
|
except Exception:
|
||||||
|
# Reraise internal exception as standard ValueError and show the incorrect file
|
||||||
|
raise ValueError("Incorrect YAML syntax in file '{}'".format(path))
|
||||||
|
|
||||||
|
|
||||||
|
class _YamlLoader(yaml.loader.Loader): # pylint: disable=too-many-ancestors
|
||||||
|
def __init__(self, yaml_file: IO) -> None:
|
||||||
|
yaml.loader.Loader.__init__(self, yaml_file)
|
||||||
|
self.__root = os.path.dirname(yaml_file.name)
|
||||||
|
|
||||||
|
def include(self, node: yaml.nodes.Node) -> str:
|
||||||
|
path = os.path.join(self.__root, self.construct_scalar(node)) # pylint: disable=no-member
|
||||||
|
return _load_yaml_file(path)
|
||||||
|
|
||||||
|
|
||||||
|
_YamlLoader.add_constructor("!include", _YamlLoader.include) # pylint: disable=no-member
|
||||||
|
|||||||
@ -10,7 +10,7 @@ from ... import gpio
|
|||||||
|
|
||||||
# =====
|
# =====
|
||||||
def main() -> None:
|
def main() -> None:
|
||||||
config = init()
|
config = init()["kvmd"]
|
||||||
logger = get_logger(0)
|
logger = get_logger(0)
|
||||||
|
|
||||||
logger.info("Cleaning up ...")
|
logger.info("Cleaning up ...")
|
||||||
|
|||||||
@ -17,7 +17,7 @@ from .server import Server
|
|||||||
|
|
||||||
# =====
|
# =====
|
||||||
def main() -> None:
|
def main() -> None:
|
||||||
config = init()
|
config = init()["kvmd"]
|
||||||
with gpio.bcm():
|
with gpio.bcm():
|
||||||
loop = asyncio.get_event_loop()
|
loop = asyncio.get_event_loop()
|
||||||
http_session = aiohttp.ClientSession(loop=loop)
|
http_session = aiohttp.ClientSession(loop=loop)
|
||||||
|
|||||||
@ -68,27 +68,4 @@ kvmd:
|
|||||||
|
|
||||||
state_poll: 1.0
|
state_poll: 1.0
|
||||||
|
|
||||||
logging:
|
logging: !include logging.yaml
|
||||||
version: 1
|
|
||||||
disable_existing_loggers: false
|
|
||||||
|
|
||||||
formatters:
|
|
||||||
console:
|
|
||||||
(): logging.Formatter
|
|
||||||
style: "{"
|
|
||||||
datefmt: "%H:%M:%S"
|
|
||||||
format: "[{asctime}] {name:30.30} {levelname:>7} --- {message}"
|
|
||||||
|
|
||||||
handlers:
|
|
||||||
console:
|
|
||||||
level: DEBUG
|
|
||||||
class: logging.StreamHandler
|
|
||||||
stream: ext://sys.stdout
|
|
||||||
formatter: console
|
|
||||||
|
|
||||||
root:
|
|
||||||
level: INFO
|
|
||||||
handlers:
|
|
||||||
- console
|
|
||||||
|
|
||||||
# vim: syntax=yaml filetype=yaml
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user