Back to Dioxus

README

packages/logger/README.md

0.7.72.7 KB
Original Source
<div align="center"> <h1>📡 Dioxus Logger 🛰️</h1> <p><strong>A logging utility to provide a standard interface whether you're targeting web, desktop, fullstack, and more.</strong></p> </div> <div align="center"> <!-- Crates version --> <a href="https://crates.io/crates/dioxus-logger"> </a> <!-- Downloads --> <a href="https://crates.io/crates/dioxus-logger"> </a> <!-- docs --> <a href="https://docs.rs/dioxus-logger"> </a> </div>

dioxus-logger is a basic cross-platform facade for logging in Dioxus that uses the tracing crate.

rust
use dioxus::prelude::*;
use dioxus_logger::tracing::{Level, info};

fn main() {
  dioxus_logger::init(Level::INFO).expect("logger failed to init");
  dioxus::launch(App);
}

#[component]
fn App() -> Element {
  info!("App rendered");
  rsx! {
    p { "hi" }
  }
}

Dioxus support

As of v0.6, dioxus_logger is part of dioxus itself. Dioxus will call init with a default Level, though you can still override the default with init.

rust
use dioxus::prelude::*;
use dioxus::logger::tracing::{Level, info};

fn main() {
  dioxus::logger::init(Level::INFO).expect("logger failed to init");
  dioxus::launch(App);
}

#[component]
fn App() -> Element {
  info!("App rendered");
  rsx! {
    p { "hi" }
  }
}

For non-wasm targets, runtime filtering is based on the RUST_LOG environment variable. e.g. for RUST_LOG=none,crateName=trace only logs trace and above for crateName will be captured. See here for syntax. For crates with - in the name, these need to be changed to _ in RUST_LOG.

Platform Support

Dioxus logger will eventually support every target that Dioxus does. Currently mobile and TUI are not supported.

Installation

dioxus_logger is part of Dioxus v0.6. If you're using Dioxus v0.6, then no installation is required!

If you're on Dioxus v0.5 and below, you can add dioxus-logger to your application by adding it to your dependencies.

toml
[dependencies]
dioxus-logger = "0.5"

License

This project is licensed under the MIT license.

Every contribution intentionally submitted for inclusion in dioxus-logger by you, shall be licensed as MIT, without any additional terms or conditions.