| #!/neo/opt/bin/python |
| |
| # log.py |
| |
| import sys, time, string |
| |
| DEV = "development" |
| DEV_UPDATE = "update queries" |
| DEV_SELECT = "select queries" |
| DEV_REPORT = "report log" |
| |
| LOGGING_STATUS = { |
| DEV : 1, |
| DEV_UPDATE : 0, |
| DEV_SELECT : 0, |
| DEV_REPORT : 0} |
| |
| tstart = 0 |
| |
| def dlog(when,astr): |
| global LOGGING_STATUS |
| try: |
| if LOGGING_STATUS[when]: |
| log(astr) |
| except KeyError: |
| pass |
| |
| def tlog(astr): |
| global tstart |
| t = time.time() |
| if tstart == 0: |
| tstart = t |
| time_stamp = "%5.5f" % (t-tstart) |
| if len(astr): |
| if astr[-1] == "\n": |
| sys.stderr.write("[%s] %s" % (time_stamp, astr)) |
| else: |
| sys.stderr.write("[%s] %s\n" % (time_stamp, astr)) |
| |
| def orig_log(astr): |
| if len(astr) > 1024: |
| astr = astr[:1024] |
| |
| t = time.time() |
| time_stamp = time.strftime("%m/%d %T", time.localtime(t)) |
| if len(astr): |
| if astr[-1] == "\n": |
| sys.stderr.write("[%s] %s" % (time_stamp, astr)) |
| else: |
| sys.stderr.write("[%s] %s\n" % (time_stamp, astr)) |
| # sys.stderr.flush() |
| |
| |
| #---------------------------------------------------------------------- |
| # static functions |
| |
| _gDebug = 0 |
| _gFileDebug = 0 |
| |
| kBLACK = 0 |
| kRED = 1 |
| kGREEN = 2 |
| kYELLOW = 3 |
| kBLUE = 4 |
| kMAGENTA = 5 |
| kCYAN = 6 |
| kWHITE = 7 |
| kBRIGHT = 8 |
| |
| def ansicolor (str, fgcolor = None, bgcolor = None): |
| o = "" |
| if fgcolor: |
| if fgcolor & kBRIGHT: |
| bright = ';1' |
| else: |
| bright = '' |
| o = o + '%c[3%d%sm' % (chr(27), fgcolor & 0x7, bright) |
| if bgcolor: |
| o = o + '%c[4%dm' % (chr(27), bgcolor) |
| o = o + str |
| if fgcolor or bgcolor: |
| o = o + '%c[0m' % (chr(27)) |
| return o |
| |
| |
| def _log(*args): |
| t = time.time() |
| |
| log_line = "" |
| |
| log_line = log_line + "[" + time.strftime("%m/%d %T", time.localtime(t)) + "] " |
| |
| l = [] |
| for arg in args: |
| l.append(str(arg)) |
| log_line = log_line + string.join(l, " ") + "\n" |
| |
| sys.stderr.write(log_line) |
| |
| def warn(*args): |
| apply(_log, args) |
| |
| def warnred(*args): |
| args = tuple (["[31m"] + list(args) + ["[0m"]) |
| apply(_log, args) |
| |
| def log(*args): |
| apply(_log, args) |
| |
| def logred(*args): |
| if _gDebug>=1: |
| args = tuple (["[31m"] + list(args) + ["[0m"]) |
| apply(_log, args) |
| |
| def debug(*args): |
| if _gDebug>=2: apply(_log, args) |
| |
| |
| def debugfull(): |
| global _gDebug |
| _gDebug = 2 |
| |
| def debugon(): |
| global _gDebug |
| _gDebug = 1 |
| |
| def debugoff(): |
| global _gDebug |
| _gDebug = 0 |
| |