1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
import logging
import asyncio
import sys
from dataclasses import dataclass, field
from rich.logging import RichHandler
from rich.console import Console
VERSION = "2.3"
CONSOLE = Console()
logging.basicConfig(
level="NOTSET",
format="%(message)s",
datefmt="[%X]",
handlers=[RichHandler(console=CONSOLE, rich_tracebacks=True)]
)
LOG = logging.getLogger("rich")
LOG.setLevel(logging.INFO)
# disable asyncio logging of 'Using selector: EpollSelector'
logging.getLogger('asyncio').setLevel(logging.WARNING)
def get_console():
return CONSOLE
def enable_debug_logging():
LOG.setLevel(logging.DEBUG)
def debug(*wargs, **kwargs):
LOG.debug(*wargs, **kwargs)
def warning(*wargs, **kwargs):
LOG.warning(*wargs, **kwargs)
def error(*wargs, **kwargs):
LOG.error(*wargs, **kwargs)
def info(*wargs, **kwargs):
LOG.info(*wargs, **kwargs)
def fatal_exit():
error("Fatal Error: exiting...")
sys.exit(1)
_print = print
def print(*wargs, **kwargs):
CONSOLE.print(*wargs, **kwargs)
|