-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSSlogger.py
62 lines (55 loc) · 2.22 KB
/
SSlogger.py
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
50
51
52
53
54
55
56
57
58
59
60
61
62
from SSconfig import SSConfig as CFG
'''
Logger is used for better output or notification
'''
class SSLogger:
def __init__(self, name, colorful=CFG.LOG['colorful'],
error=CFG.LOG['error'], warn=CFG.LOG['warn'],
debug=CFG.LOG['debug'], info=CFG.LOG['info'],
succ=CFG.LOG['succ'], echo=CFG.LOG['echo']):
self.name = name
self.FLAG_ERROR = error
self.FLAG_WARN = warn
self.FLAG_DEBUG = debug
self.FLAG_INFO = info
self.FLAG_SUCC = succ
self.FLAG_ECHO = echo
# disable color
self.red = "\x1b[31m" if colorful else ''
self.green = "\x1b[32m" if colorful else ''
self.yellow = "\x1b[33m" if colorful else ''
self.blue = "\x1b[34m" if colorful else ''
self.magenta = "\x1b[35m" if colorful else ''
self.cyan = "\x1b[36m" if colorful else ''
self.reset = "\x1b[0m" if colorful else ''
# to print error in red
def error(self, *args, **kwargs):
if not self.FLAG_ERROR:
return
msg = self.name + ' >>> ' + ' '.join(map(str, args))
print(self.red + msg + self.reset, **kwargs, flush=True)
def warn(self, *args, **kwargs):
if not self.FLAG_WARN:
return
msg = self.name + ' >>> ' + ' '.join(map(str, args))
print(self.yellow + msg + self.reset, **kwargs, flush=True)
def debug(self, *args, **kwargs):
if not self.FLAG_DEBUG:
return
msg = self.name + ' >>> ' + ' '.join(map(str, args))
print(self.magenta + msg + self.reset, **kwargs, flush=True)
def info(self, *args, **kwargs):
if not self.FLAG_INFO:
return
msg = self.name + ' >>> ' + ' '.join(map(str, args))
print(self.blue + msg + self.reset, **kwargs, flush=True)
def succ(self, *args, **kwargs):
if not self.FLAG_SUCC:
return
msg = self.name + ' >>> ' + ' '.join(map(str, args))
print(self.green + msg + self.reset, **kwargs, flush=True)
def echo(self, *args, **kwargs):
if not self.FLAG_ECHO:
return
msg = self.name + ' >>> ' + ' '.join(map(str, args))
print(msg, **kwargs, flush=True)