pub struct Logger<'a> { /* private fields */ }Expand description
A logger associated with a ROS node
Provides methods for logging at different severity levels. The logger includes the node name in log output for context.
Implementations§
Source§impl<'a> Logger<'a>
impl<'a> Logger<'a>
Sourcepub fn debug_once(&self, flag: &OnceFlag, message: &str)
pub fn debug_once(&self, flag: &OnceFlag, message: &str)
Log a DEBUG message only once (first call only)
The flag should be a static OnceFlag to track whether the message
has already been logged.
Sourcepub fn info_once(&self, flag: &OnceFlag, message: &str)
pub fn info_once(&self, flag: &OnceFlag, message: &str)
Log an INFO message only once (first call only)
Sourcepub fn warn_once(&self, flag: &OnceFlag, message: &str)
pub fn warn_once(&self, flag: &OnceFlag, message: &str)
Log a WARN message only once (first call only)
Sourcepub fn error_once(&self, flag: &OnceFlag, message: &str)
pub fn error_once(&self, flag: &OnceFlag, message: &str)
Log an ERROR message only once (first call only)
Sourcepub fn trace_once(&self, flag: &OnceFlag, message: &str)
pub fn trace_once(&self, flag: &OnceFlag, message: &str)
Log a TRACE message only once (first call only)
Sourcepub fn debug_skip_first(&self, flag: &OnceFlag, message: &str)
pub fn debug_skip_first(&self, flag: &OnceFlag, message: &str)
Log a DEBUG message, skipping the first occurrence
The flag should be a static OnceFlag to track whether the first
call has been skipped.
Sourcepub fn info_skip_first(&self, flag: &OnceFlag, message: &str)
pub fn info_skip_first(&self, flag: &OnceFlag, message: &str)
Log an INFO message, skipping the first occurrence
Sourcepub fn warn_skip_first(&self, flag: &OnceFlag, message: &str)
pub fn warn_skip_first(&self, flag: &OnceFlag, message: &str)
Log a WARN message, skipping the first occurrence
Sourcepub fn error_skip_first(&self, flag: &OnceFlag, message: &str)
pub fn error_skip_first(&self, flag: &OnceFlag, message: &str)
Log an ERROR message, skipping the first occurrence
Sourcepub fn trace_skip_first(&self, flag: &OnceFlag, message: &str)
pub fn trace_skip_first(&self, flag: &OnceFlag, message: &str)
Log a TRACE message, skipping the first occurrence
Sourcepub fn debug_throttle(
&self,
last_log_time: &mut u64,
current_time_ms: u64,
interval_ms: u64,
message: &str,
)
pub fn debug_throttle( &self, last_log_time: &mut u64, current_time_ms: u64, interval_ms: u64, message: &str, )
Log a DEBUG message with rate limiting
§Arguments
last_log_time- Mutable reference to track last log time (in milliseconds)current_time_ms- Current time in milliseconds (from your clock)interval_ms- Minimum interval between logs in millisecondsmessage- The message to log
§Example
static mut LAST_LOG: u64 = 0;
let now_ms = clock.now_ms();
// Safety: only accessed from single thread
unsafe { logger.debug_throttle(&mut LAST_LOG, now_ms, 1000, "Rate limited"); }Sourcepub fn info_throttle(
&self,
last_log_time: &mut u64,
current_time_ms: u64,
interval_ms: u64,
message: &str,
)
pub fn info_throttle( &self, last_log_time: &mut u64, current_time_ms: u64, interval_ms: u64, message: &str, )
Log an INFO message with rate limiting
Sourcepub fn warn_throttle(
&self,
last_log_time: &mut u64,
current_time_ms: u64,
interval_ms: u64,
message: &str,
)
pub fn warn_throttle( &self, last_log_time: &mut u64, current_time_ms: u64, interval_ms: u64, message: &str, )
Log a WARN message with rate limiting