diff --git a/tools/python/jwutils/log.py b/tools/python/jwutils/log.py index fecd299..35b3a9c 100644 --- a/tools/python/jwutils/log.py +++ b/tools/python/jwutils/log.py @@ -11,18 +11,18 @@ try: except NameError: basestring = str -EMERG = syslog.LOG_EMERG -ALERT = syslog.LOG_ALERT -CRIT = syslog.LOG_CRIT -ERR = syslog.LOG_ERR -WARNING = syslog.LOG_WARNING -NOTICE = syslog.LOG_NOTICE -INFO = syslog.LOG_INFO -DEBUG = syslog.LOG_DEBUG -DEVEL = syslog.LOG_DEBUG + 1 -OFF = DEVEL + 1 +EMERG = syslog.LOG_EMERG +ALERT = syslog.LOG_ALERT +CRIT = syslog.LOG_CRIT +ERR = syslog.LOG_ERR +WARNING = syslog.LOG_WARNING +NOTICE = syslog.LOG_NOTICE +INFO = syslog.LOG_INFO +DEBUG = syslog.LOG_DEBUG +DEVEL = syslog.LOG_DEBUG + 1 +OFF = DEVEL + 1 -level = NOTICE +_level = NOTICE CONSOLE_FONT_BOLD = '\033[1m' CONSOLE_FONT_RED = '\033[31m' @@ -37,37 +37,37 @@ CONSOLE_FONT_WHITE = '\033[37m' CONSOLE_FONT_BLINK = '\033[5m' CONSOLE_FONT_OFF = '\033[m' -f_position = 'position' -f_stderr = 'stderr' -f_stdout = 'stdout' -f_prio = 'prio' -f_color = 'color' -f_default = [ f_position, f_stderr, f_prio, f_color ] +f_position = 'position' +f_stderr = 'stderr' +f_stdout = 'stdout' +f_prio = 'prio' +f_color = 'color' +f_default = [ f_position, f_stderr, f_prio, f_color ] -flags = set(f_default) +_flags = set(f_default) -short_prio_str = { - EMERG : '', - ALERT : '', - CRIT : '', - ERR : '', - WARNING : '', - NOTICE : '', - INFO : '', - DEBUG : '', - DEVEL : '', +_short_prio_str = { + EMERG : '', + ALERT : '', + CRIT : '', + ERR : '', + WARNING : '', + NOTICE : '', + INFO : '', + DEBUG : '', + DEVEL : '', } -prio_colors = { - DEVEL : [ "", "" ], - DEBUG : [ "", "" ], - INFO : [ CONSOLE_FONT_BLUE, CONSOLE_FONT_OFF ], - NOTICE : [ CONSOLE_FONT_GREEN, CONSOLE_FONT_OFF ], - WARNING : [ CONSOLE_FONT_YELLOW, CONSOLE_FONT_OFF ], - ERR : [ CONSOLE_FONT_BOLD + CONSOLE_FONT_RED, CONSOLE_FONT_OFF ], - CRIT : [ CONSOLE_FONT_BOLD + CONSOLE_FONT_MAGENTA, CONSOLE_FONT_OFF ], - ALERT : [ CONSOLE_FONT_BOLD + CONSOLE_FONT_MAGENTA, CONSOLE_FONT_OFF ], - EMERG : [ CONSOLE_FONT_BOLD + CONSOLE_FONT_MAGENTA, CONSOLE_FONT_OFF ], +_prio_colors = { + DEVEL : [ "", "" ], + DEBUG : [ "", "" ], + INFO : [ CONSOLE_FONT_BLUE, CONSOLE_FONT_OFF ], + NOTICE : [ CONSOLE_FONT_GREEN, CONSOLE_FONT_OFF ], + WARNING : [ CONSOLE_FONT_YELLOW, CONSOLE_FONT_OFF ], + ERR : [ CONSOLE_FONT_BOLD + CONSOLE_FONT_RED, CONSOLE_FONT_OFF ], + CRIT : [ CONSOLE_FONT_BOLD + CONSOLE_FONT_MAGENTA, CONSOLE_FONT_OFF ], + ALERT : [ CONSOLE_FONT_BOLD + CONSOLE_FONT_MAGENTA, CONSOLE_FONT_OFF ], + EMERG : [ CONSOLE_FONT_BOLD + CONSOLE_FONT_MAGENTA, CONSOLE_FONT_OFF ], } def get_caller_pos(up = 1): @@ -77,7 +77,7 @@ def get_caller_pos(up = 1): def slog(prio, *args, **kwargs): # export - if prio > level: + if prio > _level: return msg = '' @@ -85,18 +85,18 @@ def slog(prio, *args, **kwargs): # export color_off = '' file = sys.stderr - if f_prio in flags: - msg += short_prio_str[prio] + ' ' + if f_prio in _flags: + msg += _short_prio_str[prio] + ' ' - if f_position in flags: + if f_position in _flags: if 'caller' in kwargs: name, line = kwargs['caller'] else: name, line = get_caller_pos(1) msg += misc.pad(name, 20) + '[' + misc.pad(str(line), 4, True) + ']' - if f_color in flags: - color_on, color_off = prio_colors[prio] + if f_color in _flags: + color_on, color_off = _prio_colors[prio] if len(args): margs = '' @@ -104,10 +104,10 @@ def slog(prio, *args, **kwargs): # export margs += ' ' + str(a) msg += color_on + margs + color_off - if f_stdout in flags: + if f_stdout in _flags: file = sys.stdout - if f_stderr in flags: + if f_stderr in _flags: file = sys.stderr if len(msg): @@ -120,41 +120,44 @@ def parse_log_prio_str(prio): # export raise Exeption("Invalid log priority ", prio) except ValueError: map_prio_str_to_val = { - "EMERG" : EMERG, - "emerg" : EMERG, - "ALERT" : ALERT, - "alert" : ALERT, - "CRIT" : CRIT, - "crit" : CRIT, - "ERR" : ERR, - "err" : ERR, - "WARNING" : WARNING, - "warning" : WARNING, - "NOTICE" : NOTICE, - "notice" : NOTICE, - "INFO" : INFO, - "info" : INFO, - "DEBUG" : DEBUG, - "debug" : DEBUG, - "DEVEL" : DEVEL, - "devel" : DEVEL, - "OFF" : OFF, - "off" : OFF, + "EMERG" : EMERG, + "emerg" : EMERG, + "ALERT" : ALERT, + "alert" : ALERT, + "CRIT" : CRIT, + "crit" : CRIT, + "ERR" : ERR, + "err" : ERR, + "WARNING" : WARNING, + "warning" : WARNING, + "NOTICE" : NOTICE, + "notice" : NOTICE, + "INFO" : INFO, + "info" : INFO, + "DEBUG" : DEBUG, + "debug" : DEBUG, + "DEVEL" : DEVEL, + "devel" : DEVEL, + "OFF" : OFF, + "off" : OFF, } if prio in map_prio_str_to_val: return map_prio_str_to_val[prio] raise Exception("Unknown priority string \"", prio, "\"") +def prio_colors(prio): # export + return _prio_colors(prio) + def set_level(level_): # export - global level + global _level if isinstance(level_, basestring): - level = parse_log_prio_str(level_) + _level = parse_log_prio_str(level_) return - level = level_ + _level = level_ def set_flags(flags_): # export - global flags - flags = set(flags_.split(',')) + global _flags + _flags = set(flags_.split(',')) #syslog #console @@ -170,4 +173,3 @@ def set_flags(flags_): # export #date #pid #highlight_first_error -