|
23 | 23 | from typing import Any, Callable, Dict, List, Optional, Tuple, TypeVar
|
24 | 24 |
|
25 | 25 | from absl import flags
|
| 26 | +from absl import logging |
26 | 27 | from tensorflow_datasets.core.logging import base_logger
|
27 | 28 | from tensorflow_datasets.core.logging import call_metadata
|
28 | 29 | from tensorflow_datasets.core.logging import logging_logger
|
@@ -155,11 +156,17 @@ def _finish_call(
|
155 | 156 | metadata.mark_end()
|
156 | 157 | for logger in _get_registered_loggers():
|
157 | 158 | method_name = self.__class__.__name__
|
158 |
| - logger_method = getattr(logger, method_name) |
159 |
| - logger_method = self._fill_logger_method_kwargs( |
160 |
| - logger_method, metadata, instance, args, kwargs |
161 |
| - ) |
162 |
| - self._call_logger_method(logger_method, args, kwargs) |
| 159 | + try: |
| 160 | + logger_method = getattr(logger, method_name) |
| 161 | + logger_method = self._fill_logger_method_kwargs( |
| 162 | + logger_method, metadata, instance, args, kwargs |
| 163 | + ) |
| 164 | + self._call_logger_method(logger_method, args, kwargs) |
| 165 | + except Exception: # pylint: disable=broad-exception-caught |
| 166 | + logger_name = logger.__class__.__name__ |
| 167 | + logging.exception( |
| 168 | + "Failed to call logger %s, method %s", logger_name, method_name |
| 169 | + ) |
163 | 170 |
|
164 | 171 | @wrapt.decorator
|
165 | 172 | def __call__(self, function, instance, args, kwargs):
|
|
0 commit comments