|
1 | 1 | __author__ = "desultory" |
2 | | -__version__ = "2.0.1" |
| 2 | +__version__ = "2.1.0" |
3 | 3 |
|
4 | 4 | from .colorlognameformatter import ColorLognameFormatter |
5 | 5 |
|
6 | 6 | from logging import Logger, getLogger, StreamHandler |
7 | 7 | from sys import modules |
8 | 8 |
|
9 | 9 |
|
| 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 | + |
10 | 15 | def loggify(cls): |
11 | 16 | def _has_handler(logger): |
12 | 17 | while logger: |
@@ -62,14 +67,12 @@ def __setattr__(self, name, value): |
62 | 67 | else: |
63 | 68 | self.logger.log(5, "Setattr '%s' to: %s" % (name, getattr(self, name))) |
64 | 69 |
|
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 | | - |
71 | 70 | ClassLogger.__name__ = cls.__name__ |
72 | 71 | ClassLogger.__module__ = cls.__module__ |
73 | 72 | ClassLogger.__doc__ = cls.__doc__ |
74 | 73 | ClassLogger.__qualname__ = cls.__qualname__ |
| 74 | + |
| 75 | + if isinstance(cls, dict): |
| 76 | + ClassLogger.__setitem__ = setitem_logger |
| 77 | + |
75 | 78 | return ClassLogger |
0 commit comments