fn on_event()

in src/kvp.rs [234:275]


    fn on_event(&self, event: &tracing::Event<'_>, ctx: TracingContext<'_, S>) {
        let mut event_message = String::new();

        let mut visitor = StringVisitor {
            string: &mut event_message,
        };

        event.record(&mut visitor);

        if let Some(span) = ctx.lookup_current() {
            let mut extensions = span.extensions_mut();

            if event.metadata().level() == &tracing::Level::ERROR {
                extensions.insert(SpanStatus::Failure);
            }

            let span_context = span.metadata();
            let span_id: Uuid = Uuid::new_v4();

            let event_time = SystemTime::now()
                .duration_since(UNIX_EPOCH)
                .unwrap_or_else(|_| {
                    span.extensions()
                        .get::<MyInstant>()
                        .map(|instant| instant.elapsed())
                        .unwrap_or_default()
                });

            let event_time_dt = DateTime::<Utc>::from(UNIX_EPOCH + event_time)
                .format("%Y-%m-%dT%H:%M:%S%.3fZ");

            let event_value =
                format!("Time: {} | Event: {}", event_time_dt, event_message);

            self.handle_kvp_operation(
                event.metadata().level().as_str(),
                span_context.name(),
                &span_id.to_string(),
                &event_value,
            );
        }
    }