From 5db1495d59f74beb144f8eccad6f98522e60743c Mon Sep 17 00:00:00 2001 From: Markus Scheidgen <markus.scheidgen@gmail.com> Date: Thu, 4 Oct 2018 14:47:58 +0200 Subject: [PATCH] Added more context information to task failures. --- nomad/processing/base.py | 4 ++-- nomad/processing/data.py | 10 ++++++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/nomad/processing/base.py b/nomad/processing/base.py index 10263883cd..6d0ea09c7a 100644 --- a/nomad/processing/base.py +++ b/nomad/processing/base.py @@ -187,14 +187,14 @@ class Proc(Document, metaclass=ProcMetaclass): for error in errors: if isinstance(error, Exception): failed_with_exception = True - Proc.log(logger, log_level, 'task failed with exception', exc_info=error, **kwargs) + Proc.log(logger, log_level, 'task failed with exception', exc_info=error) self.errors = [str(error) for error in errors] self.complete_time = datetime.now() if not failed_with_exception: errors_str = "; ".join([str(error) for error in errors]) - Proc.log(logger, log_level, 'task failed', errors=errors_str, **kwargs) + Proc.log(logger, log_level, 'task failed', errors=errors_str) logger.info('process failed') diff --git a/nomad/processing/data.py b/nomad/processing/data.py index eecfeeb19c..ff2a88c67e 100644 --- a/nomad/processing/data.py +++ b/nomad/processing/data.py @@ -183,7 +183,8 @@ class Calc(Proc): @task def parsing(self): - logger = self.get_calc_logger(parser=self.parser, step=self.parser) + context = dict(parser=self.parser, step=self.parser) + logger = self.get_calc_logger(**context) parser = parser_dict[self.parser] with utils.timer(logger, 'parser executed', input_size=self.mainfile_file.size): @@ -192,13 +193,14 @@ class Calc(Proc): if self._parser_backend.status[0] != 'ParseSuccess': logger.error(self._parser_backend.status[1]) error = self._parser_backend.status[1] - self.fail(error, level=logging.DEBUG) + self.fail(error, level=logging.DEBUG, **context) @task def normalizing(self): for normalizer in normalizers: normalizer_name = normalizer.__name__ - logger = self.get_calc_logger(normalizer=normalizer_name, step=normalizer_name) + context = dict(normalizer=normalizer_name, step=normalizer_name) + logger = self.get_calc_logger(**context) with utils.timer( logger, 'normalizer executed', input_size=self.mainfile_file.size): @@ -207,7 +209,7 @@ class Calc(Proc): if self._parser_backend.status[0] != 'ParseSuccess': logger.error(self._parser_backend.status[1]) error = self._parser_backend.status[1] - self.fail(error, normalizer=normalizer_name, level=logging.WARNING) + self.fail(error, level=logging.WARNING, **context) return logger.debug( 'completed normalizer successfully', normalizer=normalizer_name) -- GitLab