| 235 | """ |
| 236 | |
| 237 | def __deepcopy__(self, memo): |
| 238 | cls = self.__class__ |
| 239 | result = cls.__new__(cls) |
| 240 | memo[id(self)] = result |
| 241 | for k, v in self.__dict__.items(): |
| 242 | if k not in ('logger', 'logger_file_handler'): |
| 243 | setattr(result, k, copy.deepcopy(v, memo)) |
| 244 | # shallow copy of loggers |
| 245 | result.logger = copy.copy(self.logger) |
| 246 | # use setters to configure loggers |
| 247 | result.logger_file = self.logger_file |
| 248 | result.debug = self.debug |
| 249 | return result |
| 250 | |
| 251 | def __setattr__(self, name, value): |
| 252 | object.__setattr__(self, name, value) |