(config: Config, *setting_names: str)
| 625 | |
| 626 | |
| 627 | def get_log_level_for_setting(config: Config, *setting_names: str) -> int | None: |
| 628 | for setting_name in setting_names: |
| 629 | log_level = config.getoption(setting_name) |
| 630 | if log_level is None: |
| 631 | log_level = config.getini(setting_name) |
| 632 | if log_level: |
| 633 | break |
| 634 | else: |
| 635 | return None |
| 636 | |
| 637 | if isinstance(log_level, str): |
| 638 | log_level = log_level.upper() |
| 639 | try: |
| 640 | return int(getattr(logging, log_level, log_level)) |
| 641 | except ValueError as e: |
| 642 | class="cm"># Python logging does not recognise this as a logging level |
| 643 | raise UsageError( |
| 644 | fclass="st">"&class="cm">#x27;{log_level}' is not recognized as a logging level name for " |
| 645 | fclass="st">"&class="cm">#x27;{setting_name}'. Please consider passing the " |
| 646 | class="st">"logging level num instead." |
| 647 | ) from e |
| 648 | |
| 649 | |
| 650 | class="cm"># run after terminalreporter/capturemanager are configured |
no test coverage detected