diff --git a/rclrust/examples/logger.rs b/rclrust/examples/logger.rs new file mode 100644 index 00000000..99013dc9 --- /dev/null +++ b/rclrust/examples/logger.rs @@ -0,0 +1,22 @@ +use anyhow::Result; +use rclrust::{rclrust_debug, rclrust_error, rclrust_fatal, rclrust_info, rclrust_warn}; +use rclrust::{Clock, Logger}; +use rclrust_msg::geometry_msgs::msg::Twist; + +fn main() -> Result<()> { + let _ctx = rclrust::init()?; + + let logger = Logger::new("log example"); + + rclrust_debug!(logger, "debug log: {}", 20); + rclrust_info!(logger, "info log: {:?}", Twist::default()); + rclrust_warn!(logger, "warn log: {} {} {}", 20.3, 20, true); + rclrust_error!( + logger, + "error log: {:?}", + Clock::ros().unwrap().now().unwrap() + ); + rclrust_fatal!(logger, "fatal log: plain message"); + + Ok(()) +} diff --git a/rclrust/src/lib.rs b/rclrust/src/lib.rs index d99e2505..93d07734 100644 --- a/rclrust/src/lib.rs +++ b/rclrust/src/lib.rs @@ -30,6 +30,7 @@ pub use clock::{Clock, ClockType}; pub use context::Context; pub use executor::{spin, spin_some}; pub use init_options::InitOptions; +pub use log::Logger; pub use node_options::NodeOptions; pub use parameter::{Parameter, ParameterType, ParameterValue}; pub use time::Time;