Context manager for logging level. Parameters ---------- %(verbose)s %(add_frames)s See Also -------- mne.verbose Notes ----- See the :ref:`logging documentation ` for details. Examples -------- >>> from mne import use_log_level
| 130 | |
| 131 | @fill_doc |
| 132 | class use_log_level: |
| 133 | """Context manager for logging level. |
| 134 | |
| 135 | Parameters |
| 136 | ---------- |
| 137 | %(verbose)s |
| 138 | %(add_frames)s |
| 139 | |
| 140 | See Also |
| 141 | -------- |
| 142 | mne.verbose |
| 143 | |
| 144 | Notes |
| 145 | ----- |
| 146 | See the :ref:`logging documentation <tut-logging>` for details. |
| 147 | |
| 148 | Examples |
| 149 | -------- |
| 150 | >>> from mne import use_log_level |
| 151 | >>> from mne.utils import logger |
| 152 | >>> with use_log_level(False): |
| 153 | ... # Most MNE logger messages are "info" level, False makes them not |
| 154 | ... # print: |
| 155 | ... logger.info('This message will not be printed') |
| 156 | >>> with use_log_level(True): |
| 157 | ... # Using verbose=True in functions, methods, or this context manager |
| 158 | ... # will ensure they are printed |
| 159 | ... logger.info('This message will be printed!') |
| 160 | This message will be printed! |
| 161 | """ |
| 162 | |
| 163 | def __init__(self, verbose=None, *, add_frames=None): |
| 164 | self._level = verbose |
| 165 | self._add_frames = add_frames |
| 166 | self._old_frames = _filter.add_frames |
| 167 | |
| 168 | def __enter__(self): # noqa: D105 |
| 169 | self._old_level = set_log_level( |
| 170 | self._level, return_old_level=True, add_frames=self._add_frames |
| 171 | ) |
| 172 | |
| 173 | def __exit__(self, *args): # noqa: D105 |
| 174 | add_frames = self._old_frames if self._add_frames is not None else None |
| 175 | set_log_level(self._old_level, add_frames=add_frames) |
| 176 | |
| 177 | |
| 178 | _LOGGING_TYPES = dict( |
no outgoing calls