jw-python/tools/python/jwutils/log.py
Jan Lindemann 0aecc8d076 Make jwutils.log module somewhat usable
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-08-07 18:05:53 +02:00

65 lines
1.6 KiB
Python

import syslog
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
def slog(prio, *args): # export
if prio > level:
return
msg = ""
for count, things in enumerate(args):
#msg += ' ' + str(*thing)
for m in things:
msg += ' ' + str(m)
if len(msg):
print msg[1:]
def parse_log_prio_str(prio): # export
try:
r = int(prio)
if r < 0 or r > DEVEL:
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,
}
if prio in map_prio_str_to_val:
return map_prio_str_to_val[prio]
raise Exception("Unknown priority string \"", prio, "\"")
def set_level(level_): # export
global level
if isinstance(level_, basestring):
level = parse_log_prio_str(level_)
return
level = level_