Skip to content

Commit 4e0f8c3

Browse files
committed
only add dict logger to actual dicts
Signed-off-by: Zen <[email protected]>
1 parent eb6f955 commit 4e0f8c3

File tree

1 file changed

+10
-7
lines changed

1 file changed

+10
-7
lines changed

src/zenlib/logging/loggify.py

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,17 @@
11
__author__ = "desultory"
2-
__version__ = "2.0.1"
2+
__version__ = "2.1.0"
33

44
from .colorlognameformatter import ColorLognameFormatter
55

66
from logging import Logger, getLogger, StreamHandler
77
from sys import modules
88

99

10+
def setitem_logger(self, name, value):
11+
dict.__setitem__(self, name, value)
12+
self.logger.log(5, "Setitem '%s' to: %s" % (name, value))
13+
14+
1015
def loggify(cls):
1116
def _has_handler(logger):
1217
while logger:
@@ -62,14 +67,12 @@ def __setattr__(self, name, value):
6267
else:
6368
self.logger.log(5, "Setattr '%s' to: %s" % (name, getattr(self, name)))
6469

65-
def __setitem__(self, name, value):
66-
""" Add logging to dict setitem. """
67-
if isinstance(self, dict):
68-
dict.__setitem__(self, name, value)
69-
self.logger.log(5, "Setitem '%s' to: %s" % (name, value))
70-
7170
ClassLogger.__name__ = cls.__name__
7271
ClassLogger.__module__ = cls.__module__
7372
ClassLogger.__doc__ = cls.__doc__
7473
ClassLogger.__qualname__ = cls.__qualname__
74+
75+
if isinstance(cls, dict):
76+
ClassLogger.__setitem__ = setitem_logger
77+
7578
return ClassLogger

0 commit comments

Comments
 (0)