···
from contextlib import contextmanager
from queue import Empty, Queue
from typing import Any, Dict, Iterator
···
from colorama import Fore, Style
def __init__(self) -> None:
self.logfile = os.environ.get("LOGFILE", "/dev/null")
self.logfile_handle = codecs.open(self.logfile, "wb")
···
self.xml.endElement("nest")
···
+
from abc import ABC, abstractmethod
from contextlib import contextmanager
from queue import Empty, Queue
from typing import Any, Dict, Iterator
···
from colorama import Fore, Style
+
class AbstractLogger(ABC):
+
def log(self, message: str, attributes: Dict[str, str] = {}) -> None:
+
def subtest(self, name: str, attributes: Dict[str, str] = {}) -> Iterator[None]:
+
def nested(self, message: str, attributes: Dict[str, str] = {}) -> Iterator[None]:
+
def info(self, *args, **kwargs) -> None: # type: ignore
+
def warning(self, *args, **kwargs) -> None: # type: ignore
+
def error(self, *args, **kwargs) -> None: # type: ignore
+
def log_serial(self, message: str, machine: str) -> None:
+
def print_serial_logs(self, enable: bool) -> None:
+
class Logger(AbstractLogger):
def __init__(self) -> None:
self.logfile = os.environ.get("LOGFILE", "/dev/null")
self.logfile_handle = codecs.open(self.logfile, "wb")
···
self.xml.endElement("nest")
+
rootlog: AbstractLogger = Logger()