mirror of
https://github.com/tahoe-lafs/tahoe-lafs.git
synced 2025-04-27 06:20:25 +00:00
util: logging: refactor some common logging behavior into mixins
This commit is contained in:
parent
5fb44a3e79
commit
2b2c2a566b
@ -1,4 +1,6 @@
|
||||
|
||||
import nummedobj
|
||||
|
||||
from foolscap.logging import log
|
||||
from twisted.python import log as tw_log
|
||||
|
||||
@ -24,3 +26,37 @@ def err(*args, **kwargs):
|
||||
if 'level' not in kwargs:
|
||||
kwargs['level'] = log.UNUSUAL
|
||||
return log.err(*args, **kwargs)
|
||||
|
||||
class LogMixin(object):
|
||||
""" I remember a msg id and a facility and pass them to log.msg() """
|
||||
def __init__(self, facility=None, grandparentmsgid=None):
|
||||
self._facility = facility
|
||||
self._grandparentmsgid = grandparentmsgid
|
||||
self._parentmsgid = None
|
||||
|
||||
def log(self, msg, facility=None, parent=None, *args, **kwargs):
|
||||
if facility is None:
|
||||
facility = self._facility
|
||||
if parent is None:
|
||||
pmsgid = self._parentmsgid
|
||||
if pmsgid is None:
|
||||
pmsgid = self._grandparentmsgid
|
||||
msgid = log.msg(msg, facility=facility, parent=pmsgid, *args, **kwargs)
|
||||
if self._parentmsgid is None:
|
||||
self._parentmsgid = msgid
|
||||
return msgid
|
||||
|
||||
class PrefixingLogMixin(nummedobj.NummedObj, LogMixin):
|
||||
""" I prepend a prefix to each msg, which includes my class and instance number as well as
|
||||
a prefix supplied by my subclass. """
|
||||
def __init__(self, facility=None, grandparentmsgid=None, prefix=''):
|
||||
nummedobj.NummedObj.__init__(self)
|
||||
LogMixin.__init__(self, facility, grandparentmsgid)
|
||||
|
||||
if prefix:
|
||||
self._prefix = "%s(%s): " % (self.__repr__(), prefix)
|
||||
else:
|
||||
self._prefix = "%s: " % (self.__repr__(),)
|
||||
|
||||
def log(self, msg, facility=None, parent=None, *args, **kwargs):
|
||||
return LogMixin.log(self, self._prefix + msg, facility, parent, *args, **kwargs)
|
||||
|
Loading…
x
Reference in New Issue
Block a user