def maker(name):
my_level = getattr(logging, name.upper()) if name != 'exception' else logging.ERROR
altname = (name if name != 'exception' else 'error').upper()
def _log(self, msg, *args, **kwargs):
exc = kwargs.pop('exc_info', None) or name == 'exception'
tb = ('\n' + traceback.format_exc().strip()) if exc else ''
if args:
try:
msg = msg % args
except:
self.exception(
"Exception raised while formatting message:\n%s\n%r",
msg, args)
msg += tb
# todo: check level before printing
if self.level <= my_level:
print("%s %s %s"%(time.asctime(), altname, msg))
_log.__name__ = name
return _log
评论列表
文章目录