Skip to main content

logging/
logging.rs

1use sge::prelude::*;
2
3fn main() -> anyhow::Result<()> {
4    let opts = EngineCreationOptions::builder()
5        .title("Logging".to_string())
6        .min_log_level(LevelFilter::max())
7        .log_verbosity(Verbosity::Medium)
8        .build();
9
10    init_custom(opts)?;
11    let mut controller = PanningCameraController::new();
12    set_max_drawn_log_lines(50);
13
14    trace!("Hello");
15    debug!("Hello!");
16    info!("Hello!!");
17    warn!("Hello!!!");
18    error!("Hello!!!!");
19    trace!("Hello");
20    debug!("Hello!");
21    info!("Hello!!");
22    warn!("Hello!!!");
23    error!("Hello!!!!");
24    trace!("Hello");
25    debug!("Hello!");
26    info!("Hello!!");
27    warn!("Hello!!!");
28    error!("Hello!!!!");
29    trace!("Hello");
30    debug!("Hello!");
31    info!("Hello!!");
32    warn!("Hello!!!");
33    error!("Hello!!!!");
34
35    run_async(async move {
36        loop {
37            controller.update();
38            draw_logs();
39
40            if once_per_n_seconds(4.0) {
41                info!("im so alone");
42            } else if once_per_n_seconds(2.0) {
43                warn!("haha");
44            } else if once_per_second() {
45                error!("BAHAHAHA");
46            } else if once_per_n_seconds(0.5) {
47                debug!("BAHAHAHAHAHA");
48            }
49
50            let mut font = default_font();
51            let texture = font.texture();
52            draw_texture_world(texture, Vec2::ZERO, 1000.0);
53            draw_square_outline_world(Vec2::ZERO, 1000.0, 2.0, Color::NEUTRAL_500);
54
55            if should_quit() {
56                break;
57            }
58
59            next_frame().await;
60        }
61    });
62
63    Ok(())
64}