elif_http/logging/
structured.rs

1//! Structured logging utilities
2
3use serde_json::{json, Value};
4
5/// Create a structured log entry
6pub fn log_entry(level: &str, message: &str, fields: Option<Value>) -> Value {
7    let mut entry = json!({
8        "timestamp": chrono::Utc::now().to_rfc3339(),
9        "level": level,
10        "message": message
11    });
12
13    if let Some(Value::Object(fields_map)) = fields {
14        if let Value::Object(entry_map) = &mut entry {
15            entry_map.extend(fields_map);
16        }
17    }
18
19    entry
20}