]> jfr.im git - irc/rizon/acid.git/blob - pyva/src/main/python/pseudoclient/sys_log.py
Import acidictive 4 and pyva plugin
[irc/rizon/acid.git] / pyva / src / main / python / pseudoclient / sys_log.py
1 IRCCOLOR_WHITE = 0
2 IRCCOLOR_BLACK = 1
3 IRCCOLOR_BLUE = 2
4 IRCCOLOR_GREEN = 3
5 IRCCOLOR_LIGHTRED = 4
6 IRCCOLOR_BROWN = 5
7 IRCCOLOR_PURPLE = 6
8 IRCCOLOR_ORANGE = 7
9 IRCCOLOR_YELLOW = 8
10 IRCCOLOR_LIGHTGREEN = 9
11 IRCCOLOR_CYAN = 10
12 IRCCOLOR_LIGHTCYAN = 11
13 IRCCOLOR_LIGHTBLUE = 12
14 IRCCOLOR_PINK = 13
15 IRCCOLOR_GREY = 14
16 IRCCOLOR_LIGHTGREY = 15
17
18 class LogManager(object):
19 def __init__(self, module):
20 self.module = module
21 self.chan = module.chan
22 if hasattr(module, 'options'):
23 self.level = module.options.get('log_level', int, 7)
24 else:
25 self.level = 7
26
27 def error(self, message):
28 self.log(message, 0, IRCCOLOR_BROWN),
29
30 def exception(self, message):
31 self.log(message, 0, IRCCOLOR_LIGHTRED),
32
33 def traceback(self, message):
34 self.log(message, 1, IRCCOLOR_PURPLE),
35
36 def operation(self, message):
37 self.log(message, 2, IRCCOLOR_LIGHTGREEN),
38
39 def warning(self, message):
40 self.log(message, 2, IRCCOLOR_GREEN),
41
42 def request(self, message):
43 self.log(message, 3, IRCCOLOR_LIGHTCYAN),
44
45 def chanserv(self, message):
46 self.log(message, 4, IRCCOLOR_ORANGE),
47
48 def commit(self, message):
49 self.log(message, 5, IRCCOLOR_PINK),
50
51 def command(self, message):
52 self.log(message, 6, IRCCOLOR_LIGHTBLUE),
53
54 def debug(self, message):
55 self.log(message, 7, IRCCOLOR_YELLOW),
56
57 def set_level(self, level):
58 self.level = level
59 if hasattr(module, 'options'):
60 self.module.options.set('log_level', level)
61
62 def log(self, message, level, color):
63 if level > self.level:
64 return
65
66 self.module.msg(self.chan, '@c%d[%d] %s@o' % (color, level, message))