summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-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 e495fa6b..d06037f3 100644
--- a/src/buildtool/build_engine/base_maps/expression_map.cpp
+++ b/src/buildtool/build_engine/base_maps/expression_map.cpp
@@ -74,6 +74,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),
@@ -88,13 +96,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};