use serde_json::{Map, Value};
pub fn parse_logfmt_line(line: &str) -> Result<Value, String> {
let pairs = logfmt::parse(line);
if pairs.is_empty() {
return Err("Not a valid logfmt line.".to_string());
}
let mut map = Map::new();
for pair in pairs {
let value = match pair.val {
Some(v) => Value::String(v),
None => Value::Null,
};
map.insert(pair.key, value);
}
Ok(Value::Object(map))
}