-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlogger.py
More file actions
49 lines (39 loc) · 1.36 KB
/
Copy pathlogger.py
File metadata and controls
49 lines (39 loc) · 1.36 KB
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
from colorama import Fore, Style
from threading import Lock
class Logger(object):
def __init__(self):
self.color_table = {
"success": Style.BRIGHT + Fore.GREEN,
"warn": Style.BRIGHT + Fore.YELLOW,
"error": Style.BRIGHT + Fore.RED,
"debug": Style.BRIGHT + Fore.CYAN,
"input": Style.BRIGHT + Fore.MAGENTA,
}
self.lock = Lock()
def lprint(self, message):
with self.lock:
print(message)
def success(self, message):
message = f"{self.color_table['success']}SUCCESS{Fore.RESET} ~ {message}{Style.RESET_ALL}"
self.lprint(message)
def error(self, message):
message = (
f"{self.color_table['error']}ERROR{Fore.RESET} ~ {message}{Style.RESET_ALL}"
)
self.lprint(message)
def warn(self, message):
message = (
f"{self.color_table['warn']}WARN{Fore.RESET} ~ {message}{Style.RESET_ALL}"
)
self.lprint(message)
def debug(self, message):
message = (
f"{self.color_table['debug']}DEBUG{Fore.RESET} ~ {message}{Style.RESET_ALL}"
)
self.lprint(message)
def input(self, message):
answer = input(
f"{self.color_table['input']}INPUT{Fore.RESET} ~ {message}{Style.RESET_ALL}"
)
return answer
logger = Logger()