2016-09-29 10:29:43 +00:00
|
|
|
from micropython import const
|
2016-04-29 17:54:54 +00:00
|
|
|
import sys
|
|
|
|
import utime
|
|
|
|
|
|
|
|
NOTSET = const(0)
|
|
|
|
DEBUG = const(10)
|
|
|
|
INFO = const(20)
|
|
|
|
WARNING = const(30)
|
|
|
|
ERROR = const(40)
|
|
|
|
CRITICAL = const(50)
|
|
|
|
|
|
|
|
_leveldict = {
|
|
|
|
DEBUG: ('DEBUG', '32'),
|
|
|
|
INFO: ('INFO', '36'),
|
|
|
|
WARNING: ('WARNING', '33'),
|
|
|
|
ERROR: ('ERROR', '31'),
|
|
|
|
CRITICAL: ('CRITICAL', '1;31'),
|
|
|
|
}
|
|
|
|
|
|
|
|
level = NOTSET
|
|
|
|
color = True
|
|
|
|
|
2017-06-12 16:16:06 +00:00
|
|
|
|
2016-04-29 19:46:34 +00:00
|
|
|
def _log(name, mlevel, msg, *args):
|
|
|
|
if __debug__ and mlevel >= level:
|
2016-04-29 17:54:54 +00:00
|
|
|
if color:
|
2017-06-12 16:16:06 +00:00
|
|
|
fmt = '%d \x1b[35m%s\x1b[0m %s \x1b[' + \
|
|
|
|
_leveldict[mlevel][1] + 'm' + msg + '\x1b[0m'
|
2016-04-29 17:54:54 +00:00
|
|
|
else:
|
|
|
|
fmt = '%d %s %s ' + msg
|
2017-03-06 16:33:42 +00:00
|
|
|
print(fmt % ((utime.ticks_us(), name, _leveldict[mlevel][0]) + args))
|
2016-04-29 17:54:54 +00:00
|
|
|
|
2017-06-12 16:16:06 +00:00
|
|
|
|
2016-04-29 19:46:34 +00:00
|
|
|
def debug(name, msg, *args):
|
2016-04-29 20:01:04 +00:00
|
|
|
_log(name, DEBUG, msg, *args)
|
2016-04-29 17:54:54 +00:00
|
|
|
|
2017-06-12 16:16:06 +00:00
|
|
|
|
2016-04-29 19:46:34 +00:00
|
|
|
def info(name, msg, *args):
|
2016-04-29 20:01:04 +00:00
|
|
|
_log(name, INFO, msg, *args)
|
2016-04-29 17:54:54 +00:00
|
|
|
|
2017-06-12 16:16:06 +00:00
|
|
|
|
2016-04-29 19:46:34 +00:00
|
|
|
def warning(name, msg, *args):
|
2016-04-29 20:01:04 +00:00
|
|
|
_log(name, WARNING, msg, *args)
|
2016-04-29 17:54:54 +00:00
|
|
|
|
2017-06-12 16:16:06 +00:00
|
|
|
|
2016-04-29 19:46:34 +00:00
|
|
|
def error(name, msg, *args):
|
2016-04-29 20:01:04 +00:00
|
|
|
_log(name, ERROR, msg, *args)
|
2016-04-29 17:54:54 +00:00
|
|
|
|
2017-06-12 16:16:06 +00:00
|
|
|
|
2016-04-29 23:48:13 +00:00
|
|
|
def exception(name, exc):
|
2017-03-06 16:33:42 +00:00
|
|
|
_log(name, ERROR, 'exception:')
|
|
|
|
sys.print_exception(exc)
|
2016-04-29 23:48:13 +00:00
|
|
|
|
2017-06-12 16:16:06 +00:00
|
|
|
|
2016-04-29 19:46:34 +00:00
|
|
|
def critical(name, msg, *args):
|
2016-04-29 20:01:04 +00:00
|
|
|
_log(name, CRITICAL, msg, *args)
|