Skip to content

Commit 347d9da

Browse files
michaelmelansonSergioBenitez
authored andcommitted
Improve minijinja and tera template error logs.
1 parent 35a100f commit 347d9da

File tree

2 files changed

+19
-8
lines changed

2 files changed

+19
-8
lines changed

contrib/dyn_templates/src/engine/minijinja.rs

+18-6
Original file line numberDiff line numberDiff line change
@@ -43,13 +43,25 @@ impl Engine for Environment<'static> {
4343
}
4444

4545
fn render<C: Serialize>(&self, name: &str, context: C) -> Option<String> {
46-
let Ok(template) = self.get_template(name) else {
47-
error_!("Minijinja template '{name}' was not found.");
48-
return None;
46+
let template = match self.get_template(name) {
47+
Ok(template) => template,
48+
Err(e) => {
49+
error_!("Minijinja template '{name}' error: {e}");
50+
return None;
51+
}
4952
};
5053

51-
template.render(context)
52-
.map_err(|e| error_!("Minijinja: {}", e))
53-
.ok()
54+
match template.render(context) {
55+
Ok(result) => Some(result),
56+
Err(e) => {
57+
error_!("Error rendering Minijinja template '{name}': {e}");
58+
let mut error = &e as &dyn std::error::Error;
59+
while let Some(source) = error.source() {
60+
error_!("caused by: {source}");
61+
error = source;
62+
}
63+
None
64+
}
65+
}
5466
}
5567
}

contrib/dyn_templates/src/engine/tera.rs

+1-2
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,7 @@ impl Engine for Tera {
4848
match Tera::render(self, name, &tera_ctx) {
4949
Ok(string) => Some(string),
5050
Err(e) => {
51-
error_!("Error rendering Tera template '{}'.", name);
52-
51+
error_!("Error rendering Tera template '{name}': {e}");
5352
let mut error = Some(&e as &dyn Error);
5453
while let Some(err) = error {
5554
error_!("{}", err);

0 commit comments

Comments
 (0)