summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/buildtool/build_engine/base_maps/expression_map.cpp19
1 files changed, 14 insertions, 5 deletions
diff --git a/src/buildtool/build_engine/base_maps/expression_map.cpp b/src/buildtool/build_engine/base_maps/expression_map.cpp
index 5b2c0655..4e1c58ad 100644
--- a/src/buildtool/build_engine/base_maps/expression_map.cpp
+++ b/src/buildtool/build_engine/base_maps/expression_map.cpp
@@ -76,6 +76,14 @@ auto CreateExpressionMap(gsl::not_null<ExpressionFileMap*> const& expr_file_map,
}
auto [names, ids] = std::move(*import_aliases).Obtain();
+ auto wrapped_logger = std::make_shared<AsyncMapConsumerLogger>(
+ [logger, id](auto msg, auto fatal) {
+ (*logger)(
+ fmt::format("While handling imports of {}:\n{}",
+ id.ToString(),
+ msg),
+ fatal);
+ });
(*subcaller)(
std::move(ids),
[setter = std::move(setter),
@@ -90,13 +98,14 @@ auto CreateExpressionMap(gsl::not_null<ExpressionFileMap*> const& expr_file_map,
(*setter)(std::make_shared<ExpressionFunction>(
vars, imports, expr));
},
- std::move(logger));
+ wrapped_logger);
},
[logger, id](auto msg, auto fatal) {
- (*logger)(fmt::format("While reading expression file in {}: {}",
- id.GetNamedTarget().module,
- msg),
- fatal);
+ (*logger)(
+ fmt::format("While reading expression file in {}:\n{}",
+ id.GetNamedTarget().module,
+ msg),
+ fatal);
});
};
return ExpressionFunctionMap{expr_func_creator, jobs};