Source code for seismic.traveltime.pslog

import logging
import sys
import traceback
import warnings


[docs]def configure(verbosity): log = logging.getLogger("") log.setLevel(verbosity) ch = logging.StreamHandler() formatter = ElapsedFormatter() ch.setFormatter(formatter) log.addHandler(ch)
[docs]class ElapsedFormatter:
[docs] def format(self, record): lvl = record.levelname name = record.name t = int(round(record.relativeCreated/1000.0)) msg = record.getMessage() logstr = "+{}s {}:{} {}".format(t, name, lvl, msg) return logstr
[docs]def warn_with_traceback(message, category, filename, lineno, line=None): """ copied from: http://stackoverflow.com/questions/22373927/get-traceback-of-warnings """ traceback.print_stack() log = sys.stderr log.write(warnings.formatwarning( message, category, filename, lineno, line))