Do the configuration.
(self)
| 531 | """ |
| 532 | |
| 533 | def configure(self): |
| 534 | """Do the configuration.""" |
| 535 | |
| 536 | config = self.config |
| 537 | if 'version' not in config: |
| 538 | raise ValueError("dictionary doesn't specify a version") |
| 539 | if config['version'] != 1: |
| 540 | raise ValueError("Unsupported version: %s" % config['version']) |
| 541 | incremental = config.pop('incremental', False) |
| 542 | EMPTY_DICT = {} |
| 543 | with logging._lock: |
| 544 | if incremental: |
| 545 | handlers = config.get('handlers', EMPTY_DICT) |
| 546 | for name in handlers: |
| 547 | if name not in logging._handlers: |
| 548 | raise ValueError('No handler found with ' |
| 549 | 'name %r' % name) |
| 550 | else: |
| 551 | try: |
| 552 | handler = logging._handlers[name] |
| 553 | handler_config = handlers[name] |
| 554 | level = handler_config.get('level', None) |
| 555 | if level: |
| 556 | handler.setLevel(logging._checkLevel(level)) |
| 557 | except Exception as e: |
| 558 | raise ValueError('Unable to configure handler ' |
| 559 | '%r' % name) from e |
| 560 | loggers = config.get('loggers', EMPTY_DICT) |
| 561 | for name in loggers: |
| 562 | try: |
| 563 | self.configure_logger(name, loggers[name], True) |
| 564 | except Exception as e: |
| 565 | raise ValueError('Unable to configure logger ' |
| 566 | '%r' % name) from e |
| 567 | root = config.get('root', None) |
| 568 | if root: |
| 569 | try: |
| 570 | self.configure_root(root, True) |
| 571 | except Exception as e: |
| 572 | raise ValueError('Unable to configure root ' |
| 573 | 'logger') from e |
| 574 | else: |
| 575 | disable_existing = config.pop('disable_existing_loggers', True) |
| 576 | |
| 577 | _clearExistingHandlers() |
| 578 | |
| 579 | # Do formatters first - they don't refer to anything else |
| 580 | formatters = config.get('formatters', EMPTY_DICT) |
| 581 | for name in formatters: |
| 582 | try: |
| 583 | formatters[name] = self.configure_formatter( |
| 584 | formatters[name]) |
| 585 | except Exception as e: |
| 586 | raise ValueError('Unable to configure ' |
| 587 | 'formatter %r' % name) from e |
| 588 | # Next, do filters - they don't refer to anything else, either |
| 589 | filters = config.get('filters', EMPTY_DICT) |
| 590 | for name in filters: |
no test coverage detected