Spaces:
Sleeping
Sleeping
| from __future__ import annotations | |
| from datetime import datetime, timezone | |
| LINES: list[str] = [] | |
| def ts() -> str: | |
| return datetime.now(timezone.utc).isoformat(timespec="seconds") | |
| def log(level: str, msg: str) -> None: | |
| html = { | |
| "INFO": "dodgerblue", | |
| "WARN": "goldenrod", | |
| "ERR": "crimson", | |
| } | |
| c = html.get(level) | |
| tag = f"<span style=\"color:{c}\">{level}</span>" if c else level | |
| LINES.append(f"[{ts()}] {tag}: {msg}") | |
| def info(msg: str) -> None: | |
| log("INFO", msg) | |
| def warn(msg: str) -> None: | |
| log("WARN", msg) | |
| def error(msg: str) -> None: | |
| log("ERR", msg) | |
| def clear() -> None: | |
| LINES.clear() | |
| def lines() -> list[str]: | |
| return LINES | |