use chrono::{DateTime, Utc};
use serde::{Deserialize, Serialize};
use std::collections::HashMap;
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
pub struct LogLine {
#[serde(default = "default_timestamp")]
pub timestamp: DateTime<Utc>,
pub severity: String,
pub message: String,
#[serde(default = "default_service")]
pub service: String,
#[serde(default)]
pub metadata: HashMap<String, serde_json::Value>,
}
fn default_timestamp() -> DateTime<Utc> {
Utc::now()
}
fn default_service() -> String {
"unknown".to_string()
}