import time
import logging

class LogData():
    _offset = 0
    _ident = ""

    def tick(self, upd):
        if (type(self)._offset > 0):
            print()
        type(self)._ident = hex(id(upd))[-3:]
        type(self)._offset = time.time()
    def getTime(self):
        return time.time() - type(self)._offset
    def getIdent(self):
        return type(self)._ident

class InjectTimingAdapter(logging.LoggerAdapter):
    logData = LogData()
    def process(self, msg, kwargs):
        offset = type(self).logData.getTime()
        ident = type(self).logData.getIdent()
        return ("[%f] [%s] %s" % (offset, ident, msg)), kwargs
