diff --git a/packages/yew-router/Cargo.toml b/packages/yew-router/Cargo.toml index fba240ddf52..54d91714a6b 100644 --- a/packages/yew-router/Cargo.toml +++ b/packages/yew-router/Cargo.toml @@ -21,6 +21,7 @@ gloo = { version = "0.8", features = ["futures"] } route-recognizer = "0.3" serde = "1" serde_urlencoded = "0.7.1" +tracing = "0.1.36" [dependencies.web-sys] version = "0.3" diff --git a/packages/yew-router/src/switch.rs b/packages/yew-router/src/switch.rs index ce8c53ce061..c7e69b91405 100644 --- a/packages/yew-router/src/switch.rs +++ b/packages/yew-router/src/switch.rs @@ -1,6 +1,5 @@ //! The [`Switch`] Component. -use gloo::console; use yew::prelude::*; use crate::prelude::*; @@ -41,7 +40,7 @@ where match route { Some(route) => props.render.emit(route), None => { - console::warn!("no route matched"); + tracing::warn!("no route matched"); Html::default() } } diff --git a/packages/yew/src/dom_bundle/bnode.rs b/packages/yew/src/dom_bundle/bnode.rs index 27bb800bce9..1791729726a 100644 --- a/packages/yew/src/dom_bundle/bnode.rs +++ b/packages/yew/src/dom_bundle/bnode.rs @@ -2,7 +2,6 @@ use std::fmt; -use gloo::console; use web_sys::{Element, Node}; use super::{BComp, BList, BPortal, BSubtree, BSuspense, BTag, BText}; @@ -54,7 +53,7 @@ impl ReconcileTarget for BNode { Self::Ref(ref node) => { // Always remove user-defined nodes to clear possible parent references of them if parent.remove_child(node).is_err() { - console::warn!("Node not found to remove VRef"); + tracing::warn!("Node not found to remove VRef"); } } Self::Portal(bportal) => bportal.detach(root, parent, parent_to_detach), diff --git a/packages/yew/src/dom_bundle/btag/mod.rs b/packages/yew/src/dom_bundle/btag/mod.rs index cc325f7bc74..55262c346e2 100644 --- a/packages/yew/src/dom_bundle/btag/mod.rs +++ b/packages/yew/src/dom_bundle/btag/mod.rs @@ -7,7 +7,6 @@ use std::borrow::Cow; use std::hint::unreachable_unchecked; use std::ops::DerefMut; -use gloo::console; use gloo::utils::document; use listeners::ListenerRegistration; pub use listeners::Registry; @@ -84,7 +83,7 @@ impl ReconcileTarget for BTag { let result = parent.remove_child(&node); if result.is_err() { - console::warn!("Node not found to remove VTag"); + tracing::warn!("Node not found to remove VTag"); } } // It could be that the ref was already reused when rendering another element. diff --git a/packages/yew/src/dom_bundle/btext.rs b/packages/yew/src/dom_bundle/btext.rs index 2415ca3c679..e482883f6cb 100644 --- a/packages/yew/src/dom_bundle/btext.rs +++ b/packages/yew/src/dom_bundle/btext.rs @@ -1,6 +1,5 @@ //! This module contains the bundle implementation of text [BText]. -use gloo::console; use gloo::utils::document; use web_sys::{Element, Text as TextNode}; @@ -21,7 +20,7 @@ impl ReconcileTarget for BText { let result = parent.remove_child(&self.text_node); if result.is_err() { - console::warn!("Node not found to remove VText"); + tracing::warn!("Node not found to remove VText"); } } } diff --git a/packages/yew/src/dom_bundle/utils.rs b/packages/yew/src/dom_bundle/utils.rs index f4973dad37a..827d16f8dac 100644 --- a/packages/yew/src/dom_bundle/utils.rs +++ b/packages/yew/src/dom_bundle/utils.rs @@ -6,8 +6,18 @@ pub(super) fn insert_node(node: &Node, parent: &Element, next_sibling: Option<&N Some(next_sibling) => parent .insert_before(node, Some(next_sibling)) .unwrap_or_else(|err| { - gloo::console::error!("failed to insert node", err, parent, next_sibling, node); - panic!("failed to insert tag before next sibling") + // Log normally, so we can inspect the nodes in console + gloo::console::error!( + "failed to insert node before next sibling", + err, + parent, + next_sibling, + node + ); + // Log via tracing for consistency + tracing::error!("failed to insert node before next sibling"); + // Panic to short-curcuit and fail + panic!("failed to insert node before next sibling") }), None => parent.append_child(node).expect("failed to append child"), };