Skip to content

Commit b12b7f2

Browse files
committed
Remove old 'log' macros. Color via subscriber.
This commit: - Removes painting outside trace subscriber in core. - Removes all non-subscriber uses of yansi. - Removes all uses of old log macros. - Fix trace exports.
1 parent d767694 commit b12b7f2

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+348
-382
lines changed

contrib/db_pools/lib/src/database.rs

+7-9
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
11
use std::marker::PhantomData;
22
use std::ops::{Deref, DerefMut};
33

4-
use rocket::{error, info_, Build, Ignite, Phase, Rocket, Sentinel, Orbit};
4+
use rocket::{error, Build, Ignite, Phase, Rocket, Sentinel, Orbit};
55
use rocket::fairing::{self, Fairing, Info, Kind};
66
use rocket::request::{FromRequest, Outcome, Request};
7-
use rocket::http::Status;
8-
9-
use rocket::yansi::Paint;
107
use rocket::figment::providers::Serialized;
8+
use rocket::http::Status;
119

1210
use crate::Pool;
1311

@@ -122,10 +120,10 @@ pub trait Database: From<Self::Pool> + DerefMut<Target = Self::Pool> + Send + Sy
122120
return Some(db);
123121
}
124122

125-
let dbtype = std::any::type_name::<Self>().bold().primary();
126-
error!("Attempted to fetch unattached database `{}`.", dbtype);
127-
info_!("`{}{}` fairing must be attached prior to using this database.",
128-
dbtype.linger(), "::init()".resetting());
123+
let conn = std::any::type_name::<Self>();
124+
error!("`{conn}::init()` is not attached\n\
125+
the fairing must be attached to use `{conn}` in routes.");
126+
129127
None
130128
}
131129
}
@@ -267,7 +265,7 @@ impl<D: Database> Fairing for Initializer<D> {
267265
match <D::Pool>::init(&figment).await {
268266
Ok(pool) => Ok(rocket.manage(D::from(pool))),
269267
Err(e) => {
270-
error!("failed to initialize database: {}", e);
268+
error!("database initialization failed: {e}");
271269
Err(rocket)
272270
}
273271
}

contrib/dyn_templates/src/context.rs

+19-20
Original file line numberDiff line numberDiff line change
@@ -49,24 +49,25 @@ impl Context {
4949
Ok(_) | Err(_) => continue,
5050
};
5151

52-
let (name, data_type_str) = split_path(&root, entry.path());
53-
if let Some(info) = templates.get(&*name) {
54-
warn_!("Template name '{}' does not have a unique source.", name);
55-
match info.path {
56-
Some(ref path) => info_!("Existing path: {:?}", path),
57-
None => info_!("Existing Content-Type: {}", info.data_type),
58-
}
59-
60-
info_!("Additional path: {:?}", entry.path());
61-
warn_!("Keeping existing template '{}'.", name);
52+
let (template, data_type_str) = split_path(&root, entry.path());
53+
if let Some(info) = templates.get(&*template) {
54+
warn!(
55+
%template,
56+
first_path = %entry.path().display(),
57+
second_path = info.path.as_ref().map(|p| display(p.display())),
58+
data_type = %info.data_type,
59+
"Template name '{template}' can refer to multiple templates.\n\
60+
First path will be used. Second path is ignored."
61+
);
62+
6263
continue;
6364
}
6465

6566
let data_type = data_type_str.as_ref()
6667
.and_then(|ext| ContentType::from_extension(ext))
6768
.unwrap_or(ContentType::Text);
6869

69-
templates.insert(name, TemplateInfo {
70+
templates.insert(template, TemplateInfo {
7071
path: Some(entry.into_path()),
7172
engine_ext: ext,
7273
data_type,
@@ -75,9 +76,8 @@ impl Context {
7576
}
7677

7778
let mut engines = Engines::init(&templates)?;
78-
if let Err(e) = callback(&mut engines) {
79-
error_!("Template customization callback failed.");
80-
error_!("{}", e);
79+
if let Err(reason) = callback(&mut engines) {
80+
error!(%reason, "template customization callback failed");
8181
return None;
8282
}
8383

@@ -151,9 +151,8 @@ mod manager {
151151
let watcher = match watcher {
152152
Ok(watcher) => Some((watcher, Mutex::new(rx))),
153153
Err(e) => {
154-
warn!("Failed to enable live template reloading: {}", e);
155-
debug_!("Reload error: {:?}", e);
156-
warn_!("Live template reloading is unavailable.");
154+
warn!("live template reloading initialization failed: {e}\n\
155+
live template reloading is unavailable");
157156
None
158157
}
159158
};
@@ -182,13 +181,13 @@ mod manager {
182181
.map(|(_, rx)| rx.lock().expect("fsevents lock").try_iter().count() > 0);
183182

184183
if let Some(true) = templates_changes {
185-
info_!("Change detected: reloading templates.");
184+
debug!("template change detected: reloading templates");
186185
let root = self.context().root.clone();
187186
if let Some(new_ctxt) = Context::initialize(&root, callback) {
188187
*self.context_mut() = new_ctxt;
189188
} else {
190-
warn_!("An error occurred while reloading templates.");
191-
warn_!("Existing templates will remain active.");
189+
warn!("error while reloading template\n\
190+
existing templates will remain active.")
192191
};
193192
}
194193
}

contrib/dyn_templates/src/engine/handlebars.rs

+10-10
Original file line numberDiff line numberDiff line change
@@ -11,26 +11,26 @@ impl Engine for Handlebars<'static> {
1111
fn init<'a>(templates: impl Iterator<Item = (&'a str, &'a Path)>) -> Option<Self> {
1212
let mut hb = Handlebars::new();
1313
let mut ok = true;
14-
for (name, path) in templates {
15-
if let Err(e) = hb.register_template_file(name, path) {
16-
error!("Handlebars template '{}' failed to register.", name);
17-
error_!("{}", e);
18-
info_!("Template path: '{}'.", path.to_string_lossy());
14+
for (template, path) in templates {
15+
if let Err(e) = hb.register_template_file(template, path) {
16+
error!(template, path = %path.display(),
17+
"failed to register Handlebars template: {e}");
18+
1919
ok = false;
2020
}
2121
}
2222

2323
ok.then_some(hb)
2424
}
2525

26-
fn render<C: Serialize>(&self, name: &str, context: C) -> Option<String> {
27-
if self.get_template(name).is_none() {
28-
error_!("Handlebars template '{}' does not exist.", name);
26+
fn render<C: Serialize>(&self, template: &str, context: C) -> Option<String> {
27+
if self.get_template(template).is_none() {
28+
error!(template, "requested Handlebars template does not exist.");
2929
return None;
3030
}
3131

32-
Handlebars::render(self, name, &context)
33-
.map_err(|e| error_!("Handlebars: {}", e))
32+
Handlebars::render(self, template, &context)
33+
.map_err(|e| error!("Handlebars render error: {}", e))
3434
.ok()
3535
}
3636
}

contrib/dyn_templates/src/engine/minijinja.rs

+11-12
Original file line numberDiff line numberDiff line change
@@ -43,23 +43,22 @@ impl Engine for Environment<'static> {
4343
}
4444

4545
fn render<C: Serialize>(&self, name: &str, context: C) -> Option<String> {
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-
}
46+
let Ok(template) = self.get_template(name) else {
47+
error!("Minijinja template '{name}' was not found.");
48+
return None;
5249
};
5350

5451
match template.render(context) {
5552
Ok(result) => Some(result),
5653
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-
}
54+
error_span!("Error rendering Minijinja template '{name}': {e}" => {
55+
let mut error = &e as &dyn std::error::Error;
56+
while let Some(source) = error.source() {
57+
error_!("caused by: {source}");
58+
error = source;
59+
}
60+
});
61+
6362
None
6463
}
6564
}

contrib/dyn_templates/src/engine/tera.rs

+19-18
Original file line numberDiff line numberDiff line change
@@ -21,39 +21,40 @@ impl Engine for Tera {
2121

2222
// Finally try to tell Tera about all of the templates.
2323
if let Err(e) = tera.add_template_files(files) {
24-
error!("Failed to initialize Tera templating.");
25-
26-
let mut error = Some(&e as &dyn Error);
27-
while let Some(err) = error {
28-
info_!("{}", err);
29-
error = err.source();
30-
}
24+
error_span!("Tera templating initialization failed" => {
25+
let mut error = Some(&e as &dyn Error);
26+
while let Some(err) = error {
27+
error!("{err}");
28+
error = err.source();
29+
}
30+
});
3131

3232
None
3333
} else {
3434
Some(tera)
3535
}
3636
}
3737

38-
fn render<C: Serialize>(&self, name: &str, context: C) -> Option<String> {
39-
if self.get_template(name).is_err() {
40-
error_!("Tera template '{}' does not exist.", name);
38+
fn render<C: Serialize>(&self, template: &str, context: C) -> Option<String> {
39+
if self.get_template(template).is_err() {
40+
error!(template, "requested template does not exist");
4141
return None;
4242
};
4343

4444
let tera_ctx = Context::from_serialize(context)
45-
.map_err(|e| error_!("Tera context error: {}.", e))
45+
.map_err(|e| error!("Tera context error: {}.", e))
4646
.ok()?;
4747

48-
match Tera::render(self, name, &tera_ctx) {
48+
match Tera::render(self, template, &tera_ctx) {
4949
Ok(string) => Some(string),
5050
Err(e) => {
51-
error_!("Error rendering Tera template '{name}': {e}");
52-
let mut error = Some(&e as &dyn Error);
53-
while let Some(err) = error {
54-
error_!("{}", err);
55-
error = err.source();
56-
}
51+
error_span!("failed to render Tera template {name}" [template] => {
52+
let mut error = Some(&e as &dyn Error);
53+
while let Some(err) = error {
54+
error!("{err}");
55+
error = err.source();
56+
}
57+
});
5758

5859
None
5960
}

contrib/dyn_templates/src/fairing.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ impl Fairing for TemplateFairing {
4848
if let Some(ctxt) = Context::initialize(&path, &self.callback) {
4949
Ok(rocket.manage(ContextManager::new(ctxt)))
5050
} else {
51-
error_!("Template initialization failed. Aborting launch.");
51+
error!("Template initialization failed. Aborting launch.");
5252
Err(rocket)
5353
}
5454
}
@@ -57,7 +57,7 @@ impl Fairing for TemplateFairing {
5757
let cm = rocket.state::<ContextManager>()
5858
.expect("Template ContextManager registered in on_ignite");
5959

60-
info_span!("templating" [icon = "📐"] => {
60+
info_span!("templating" => {
6161
info!(directory = %Source::from(&*cm.context().root));
6262
info!(engines = ?Engines::ENABLED_EXTENSIONS);
6363
});

contrib/dyn_templates/src/metadata.rs

+10-9
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ use rocket::{Request, Rocket, Ignite, Sentinel};
55
use rocket::http::{Status, ContentType};
66
use rocket::request::{self, FromRequest};
77
use rocket::serde::Serialize;
8-
use rocket::yansi::Paint;
98

109
use crate::{Template, context::ContextManager};
1110

@@ -136,11 +135,11 @@ impl fmt::Debug for Metadata<'_> {
136135
impl Sentinel for Metadata<'_> {
137136
fn abort(rocket: &Rocket<Ignite>) -> bool {
138137
if rocket.state::<ContextManager>().is_none() {
139-
let md = "Metadata".primary().bold();
140-
let fairing = "Template::fairing()".primary().bold();
141-
error!("requested `{}` guard without attaching `{}`.", md, fairing);
142-
info_!("To use or query templates, you must attach `{}`.", fairing);
143-
info_!("See the `Template` documentation for more information.");
138+
error!(
139+
"uninitialized template context: missing `Template::fairing()`.\n\
140+
To use templates, you must attach `Template::fairing()`."
141+
);
142+
144143
return true;
145144
}
146145

@@ -159,9 +158,11 @@ impl<'r> FromRequest<'r> for Metadata<'r> {
159158
request.rocket().state::<ContextManager>()
160159
.map(|cm| request::Outcome::Success(Metadata(cm)))
161160
.unwrap_or_else(|| {
162-
error_!("Uninitialized template context: missing fairing.");
163-
info_!("To use templates, you must attach `Template::fairing()`.");
164-
info_!("See the `Template` documentation for more information.");
161+
error!(
162+
"uninitialized template context: missing `Template::fairing()`.\n\
163+
To use templates, you must attach `Template::fairing()`."
164+
);
165+
165166
request::Outcome::Error((Status::InternalServerError, ()))
166167
})
167168
}

0 commit comments

Comments
 (0)