Skip to content

Commit 89008ef

Browse files
committed
Use tracing in examples
println! and eprintln! are no-ops on WASM.
1 parent 60a0638 commit 89008ef

12 files changed

Lines changed: 62 additions & 28 deletions

File tree

Cargo.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,7 @@ redox_syscall = "0.7"
134134
colorous = "1.0.12"
135135
web-time = "1.0.0"
136136
winit = "0.30.0"
137+
tracing-subscriber = { version = "0.3.18", features = ["env-filter"] }
137138

138139
[target.'cfg(target_os = "android")'.dev-dependencies]
139140
winit = { version = "0.30.0", features = ["android-native-activity"] }
@@ -155,6 +156,7 @@ criterion = { version = "0.8.1", default-features = false, features = [
155156
[target.'cfg(target_family = "wasm")'.dev-dependencies]
156157
wasm-bindgen-test = "0.3"
157158
console_error_panic_hook = "0.1"
159+
tracing-web = "0.1"
158160

159161
[target.'cfg(not(any(target_os = "android", target_vendor = "apple", target_os = "redox", target_family = "wasm", target_os = "windows")))'.dev-dependencies]
160162
rustix = { version = "1.0.1", features = ["event"] }

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ fn main() {
9898
match event {
9999
WindowEvent::RedrawRequested => {
100100
let Some(surface) = surface else {
101-
eprintln!("RedrawRequested fired before Resumed or after Suspended");
101+
tracing::error!("RedrawRequested fired before Resumed or after Suspended");
102102
return;
103103
};
104104
let size = window.inner_size();

clippy.toml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
disallowed-macros = [
2+
{ path = "std::print", reason = "use tracing in examples instead, that works on WASM too" },
3+
{ path = "std::eprint", reason = "use tracing in examples instead, that works on WASM too" },
4+
{ path = "std::println", reason = "use tracing in examples instead, that works on WASM too" },
5+
{ path = "std::eprintln", reason = "use tracing in examples instead, that works on WASM too" },
6+
]

examples/animation.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ fn main() {
4242
match event {
4343
WindowEvent::Resized(size) => {
4444
let Some(surface) = surface else {
45-
eprintln!("Resized fired before Resumed or after Suspended");
45+
tracing::error!("Resized fired before Resumed or after Suspended");
4646
return;
4747
};
4848

@@ -54,7 +54,7 @@ fn main() {
5454
}
5555
WindowEvent::RedrawRequested => {
5656
let Some(surface) = surface else {
57-
eprintln!("RedrawRequested fired before Resumed or after Suspended");
57+
tracing::error!("RedrawRequested fired before Resumed or after Suspended");
5858
return;
5959
};
6060

examples/drm.rs

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ mod imple {
124124
let mut tick = 0;
125125
while Instant::now().duration_since(start) < Duration::from_secs(2) {
126126
tick += 1;
127-
println!("Drawing tick {tick}");
127+
tracing::info!("Drawing tick {tick}");
128128

129129
// Start drawing.
130130
let mut buffer = surface.buffer_mut()?;
@@ -142,17 +142,17 @@ mod imple {
142142

143143
// Receive the events.
144144
let events = device.receive_events()?;
145-
println!("Got some events...");
145+
tracing::info!("Got some events...");
146146
for event in events {
147147
match event {
148148
Event::PageFlip(_) => {
149-
println!("Page flip event.");
149+
tracing::info!("Page flip event.");
150150
}
151151
Event::Vblank(_) => {
152-
println!("Vblank event.");
152+
tracing::info!("Vblank event.");
153153
}
154154
_ => {
155-
println!("Unknown event.");
155+
tracing::info!("Unknown event.");
156156
}
157157
}
158158
}
@@ -233,8 +233,7 @@ mod imple {
233233
)))]
234234
mod imple {
235235
pub(super) fn entry() -> Result<(), Box<dyn std::error::Error>> {
236-
eprintln!("This example requires the `kms` feature.");
237-
Ok(())
236+
panic!("This example requires the `kms` feature.")
238237
}
239238
}
240239

examples/fruit.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ fn main() {
4646
match event {
4747
WindowEvent::RedrawRequested => {
4848
let Some(surface) = surface else {
49-
eprintln!("RedrawRequested fired before Resumed or after Suspended");
49+
tracing::error!("RedrawRequested fired before Resumed or after Suspended");
5050
return;
5151
};
5252

examples/libxcb.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -175,5 +175,5 @@ fn main() {
175175
fn main() {
176176
util::setup();
177177

178-
eprintln!("This example requires the `x11` feature to be enabled on a supported platform.");
178+
panic!("This example requires the `x11` feature to be enabled on a supported platform.")
179179
}

examples/rectangle.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ fn main() {
5555
match event {
5656
WindowEvent::Resized(size) => {
5757
let Some(surface) = surface else {
58-
eprintln!("Resized fired before Resumed or after Suspended");
58+
tracing::error!("Resized fired before Resumed or after Suspended");
5959
return;
6060
};
6161

@@ -68,7 +68,7 @@ fn main() {
6868
}
6969
WindowEvent::RedrawRequested => {
7070
let Some(surface) = surface else {
71-
eprintln!("RedrawRequested fired before Resumed or after Suspended");
71+
tracing::error!("RedrawRequested fired before Resumed or after Suspended");
7272
return;
7373
};
7474
// Draw something in the window

examples/util/mod.rs

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,35 @@ mod winit_app;
44
#[allow(unused_imports)]
55
pub use self::winit_app::*;
66

7-
/// Set up the console error hook on WebAssembly.
7+
/// Initialize an appropriate tracing subscriber, and set the console error hook on WASM.
88
pub fn setup() {
9+
#[cfg(not(target_family = "wasm"))]
10+
{
11+
use tracing_subscriber::filter::{EnvFilter, LevelFilter};
12+
13+
tracing_subscriber::fmt()
14+
.with_env_filter(
15+
EnvFilter::builder()
16+
.with_default_directive(LevelFilter::INFO.into())
17+
.from_env_lossy(),
18+
)
19+
.init();
20+
}
21+
922
#[cfg(target_family = "wasm")]
10-
console_error_panic_hook::set_once();
23+
{
24+
console_error_panic_hook::set_once();
25+
26+
use tracing_subscriber::layer::SubscriberExt;
27+
use tracing_subscriber::util::SubscriberInitExt;
28+
29+
tracing_subscriber::registry()
30+
.with(
31+
tracing_subscriber::fmt::layer()
32+
.with_ansi(false)
33+
.without_time()
34+
.with_writer(tracing_web::MakeWebConsoleWriter::new()),
35+
)
36+
.init();
37+
}
1138
}

examples/winit.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ pub(crate) fn entry(event_loop: EventLoop<()>) {
2929
match event {
3030
WindowEvent::Resized(size) => {
3131
let Some(surface) = surface else {
32-
eprintln!("Resized fired before Resumed or after Suspended");
32+
tracing::error!("Resized fired before Resumed or after Suspended");
3333
return;
3434
};
3535

@@ -41,7 +41,7 @@ pub(crate) fn entry(event_loop: EventLoop<()>) {
4141
}
4242
WindowEvent::RedrawRequested => {
4343
let Some(surface) = surface else {
44-
eprintln!("RedrawRequested fired before Resumed or after Suspended");
44+
tracing::error!("RedrawRequested fired before Resumed or after Suspended");
4545
return;
4646
};
4747

0 commit comments

Comments
 (0)