/// Call [`trace!`](crate::trace) once per call site.1///2/// Useful for logging within systems which are called every frame.3#[macro_export]4macro_rules! trace_once {5($($arg:tt)+) => ({6$crate::once!($crate::trace!($($arg)+))7});8}910/// Call [`debug!`](crate::debug) once per call site.11///12/// Useful for logging within systems which are called every frame.13#[macro_export]14macro_rules! debug_once {15($($arg:tt)+) => ({16$crate::once!($crate::debug!($($arg)+))17});18}1920/// Call [`info!`](crate::info) once per call site.21///22/// Useful for logging within systems which are called every frame.23#[macro_export]24macro_rules! info_once {25($($arg:tt)+) => ({26$crate::once!($crate::info!($($arg)+))27});28}2930/// Call [`warn!`](crate::warn) once per call site.31///32/// Useful for logging within systems which are called every frame.33#[macro_export]34macro_rules! warn_once {35($($arg:tt)+) => ({36$crate::once!($crate::warn!($($arg)+))37});38}3940/// Call [`error!`](crate::error) once per call site.41///42/// Useful for logging within systems which are called every frame.43#[macro_export]44macro_rules! error_once {45($($arg:tt)+) => ({46$crate::once!($crate::error!($($arg)+))47});48}495051