diff options
Diffstat (limited to 'wqflask/utility/logger.py')
-rw-r--r-- | wqflask/utility/logger.py | 29 |
1 files changed, 23 insertions, 6 deletions
diff --git a/wqflask/utility/logger.py b/wqflask/utility/logger.py index 556a265c..a2ae1f1a 100644 --- a/wqflask/utility/logger.py +++ b/wqflask/utility/logger.py @@ -29,8 +29,11 @@ import logging import string from inspect import isfunction +from pprint import pformat as pf + from utility.tools import LOG_LEVEL, LOG_SQL, LOG_FORMAT + class GNLogger: """A logger class with some additional functionality, such as multiple parameter logging, SQL logging, timing, colors, and lazy @@ -85,17 +88,31 @@ class GNLogger: return result def collect(self,fun,*args): - """Collect arguments and use fun to output one by one""" + """Collect arguments and use fun to output""" + out = "" for a in args: - fun(a) + if len(out)>0: + out += ": " + if isinstance(a, str): + out = out + a + else: + out = out + pf(a,width=160) + fun(out) def collectf(self,fun,*args): """Collect arguments and use fun to output one by one""" + out = "" for a in args: - if isfunction(a): - fun(a()) - else: - fun(a) + if len(out)>0: + out += ": " + if isfunction(a): + out += a() + else: + if isinstance(a, str): + out = out + a + else: + out = out + pf(a,width=160) + fun(out) # Get the module logger. You can override log levels at the # module level |