forked from litonglab/blender-neighbor-discovery
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathLog.py
53 lines (31 loc) · 852 Bytes
/
Log.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
import sys
from enum import Enum
class LogLevel(Enum):
VERBOSE = 2
DEBUG = 1
NORMAL = 0
global LOG_LEVEL
LOG_LEVEL = LogLevel.NORMAL
def E(tag='', msg=''):
sys.stderr.write(f'E[{tag}]:{msg}\n')
def W(tag='', msg=''):
sys.stdout.write(f'W[{tag}]:{msg}\n')
def I(tag='', msg=''):
sys.stdout.write(f'I[{tag}]:{msg}\n')
def D(tag='', msg=''):
if LOG_LEVEL.value >= LogLevel.DEBUG.value:
sys.stdout.write(f'D[{tag}]:{msg}\n')
def V(tag='', msg=''):
if LOG_LEVEL.value >= LogLevel.VERBOSE.value:
sys.stdout.write(f'I[{tag}]:{msg}\n')
def set_level(level: LogLevel):
global LOG_LEVEL
LOG_LEVEL = level
def debug():
global LOG_LEVEL
LOG_LEVEL = LogLevel.DEBUG
def verbose():
global LOG_LEVEL
LOG_LEVEL = LogLevel.VERBOSE
def reset():
LOG_LEVEL = LogLevel.NORMAL