69 lines
1.9 KiB
Python
69 lines
1.9 KiB
Python
import inspect
|
|
import traceback
|
|
from utils.utils import trace_origin
|
|
|
|
class bcolors:
|
|
HEADER = '\033[95m'
|
|
OKBLUE = '\033[94m'
|
|
OKCYAN = '\033[96m'
|
|
OKGREEN = '\033[92m'
|
|
WARNING = '\033[93m'
|
|
FAIL = '\033[91m'
|
|
ENDC = '\033[0m'
|
|
BOLD = '\033[1m'
|
|
UNDERLINE = '\033[4m'
|
|
|
|
class logger:
|
|
def debug(*args, **kwargs):
|
|
from infra.config import Settings
|
|
if not Settings.EnableDebugMessages:
|
|
return
|
|
print(bcolors.HEADER, end='[DEBUG] ')
|
|
print(*args, **kwargs)
|
|
print(bcolors.ENDC, end='')
|
|
|
|
def error(*args, **kwargs):
|
|
print(bcolors.FAIL, end='[ERROR] ')
|
|
print(*args, **kwargs)
|
|
print(bcolors.ENDC, end='')
|
|
|
|
def warn(*args, trace_origin_flag=False, stacklevel=0, \
|
|
print_stack=False, **kwargs):
|
|
|
|
print(bcolors.WARNING, end='[WARNING] ')
|
|
if trace_origin_flag:
|
|
trace_origin(inspect.currentframe(), stacklevel)
|
|
if print_stack:
|
|
print(traceback.format_exc())
|
|
print(*args, **kwargs)
|
|
print(bcolors.ENDC, end='')
|
|
|
|
def verbose(*args, trace_origin_flag=False, stacklevel=0, **kwargs):
|
|
from infra.config import Settings
|
|
if not Settings.EnableVerboseMessages:
|
|
return
|
|
if trace_origin_flag:
|
|
trace_origin(inspect.currentframe(), stacklevel)
|
|
print(bcolors.OKCYAN, end='[VERBOSE] ')
|
|
print(*args, **kwargs)
|
|
print(bcolors.ENDC, end='')
|
|
|
|
def log(*args, **kwargs):
|
|
print(bcolors.OKGREEN, end='[LOG] ')
|
|
print(*args, **kwargs)
|
|
print(bcolors.ENDC, end='')
|
|
|
|
def info(*args, **kwargs):
|
|
print(bcolors.OKBLUE, end='[INFO] ')
|
|
print(*args, **kwargs)
|
|
print(bcolors.ENDC, end='')
|
|
|
|
class DisableVerbose(object):
|
|
def __enter__(self):
|
|
from infra.config import Settings
|
|
self.verbose_flag = Settings.EnableVerboseMessages
|
|
Settings.EnableVerboseMessages = False
|
|
|
|
def __exit__(self, exc_type, exc_value, traceback):
|
|
from infra.config import Settings
|
|
Settings.EnableVerboseMessages = self.verbose_flag |