MCPcopy Create free account
hub / github.com/elastic/devfiler / on_event

Method on_event

src/log.rs:68–101  ·  view source on GitHub ↗
(&self, event: &Event<'_>, _ctx: Context<'_, S>)

Source from the content-addressed store, hash-verified

66 S: Subscriber + for<'a> LookupSpan<'a>,
67{
68 fn on_event(&self, event: &Event<'_>, _ctx: Context<'_, S>) {
69 struct FieldVisitor(Option<String>);
70
71 impl<'a> Visit for FieldVisitor {
72 fn record_debug(&mut self, field: &Field, value: &dyn Debug) {
73 if field.name() == "message" {
74 self.0 = Some(format!("{:?}", value))
75 }
76 }
77 }
78
79 let mut visitor = FieldVisitor(None);
80
81 event.record(&mut visitor);
82
83 let Some(message) = visitor.0 else {
84 return;
85 };
86
87 let meta = event.metadata();
88
89 let mut ring = self.ring.lock().unwrap();
90
91 if ring.len() > LOG_RING_CAP {
92 ring.pop_front();
93 }
94
95 ring.push_back(LoggedMessage {
96 time: chrono::Utc::now(),
97 level: *meta.level(),
98 target: meta.target().to_owned(),
99 message,
100 });
101 }
102}

Callers

nothing calls this directly

Calls 1

FieldVisitorClass · 0.85

Tested by

no test coverage detected