1
0
forked from ROMEO/nexosim

Add small example of tracing logging

This commit is contained in:
Serge Barral 2024-09-13 16:08:49 +02:00
parent 7487a264ab
commit 1dfb79f596

View File

@ -31,6 +31,23 @@
//! tracing_subscriber::fmt::init(); //! tracing_subscriber::fmt::init();
//! ``` //! ```
//! //!
//! Logging from a model is then a simple matter of using the `tracing` macros,
//! for instance:
//!
//! ```
//! use tracing::warn;
//!
//! pub struct MyModel { /* ... */ }
//!
//! impl MyModel {
//! pub fn some_input_port(&mut self, _some_parameter: i32) {
//! // ...
//! warn!("something happened inside the simulation");
//! // ...
//! }
//! }
//! ```
//!
//! However, this will stamp events with the system time rather than the //! However, this will stamp events with the system time rather than the
//! simulation time. To use simulation time instead, a dedicated timer can be //! simulation time. To use simulation time instead, a dedicated timer can be
//! configured: //! configured:
@ -44,8 +61,8 @@
//! .init(); //! .init();
//! ``` //! ```
//! //!
//! Note that this timer will automatically revert to system time stamping for //! This timer will automatically revert to system time stamping for tracing
//! tracing events generated outside of simulation models, e.g.: //! events generated outside of simulation models, e.g.:
//! //!
//! ```text //! ```text
//! [2001-02-03 04:05:06.789012345] WARN model{name="my_model"}: my_simulation: something happened inside the simulation //! [2001-02-03 04:05:06.789012345] WARN model{name="my_model"}: my_simulation: something happened inside the simulation