Skip to main content

android_sms_gateway/types/
log.rs

1use std::collections::HashMap;
2
3use chrono::{DateTime, Utc};
4use serde::{Deserialize, Serialize};
5
6/// Priority level of a log entry.
7#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
8pub enum LogEntryPriority {
9    #[serde(rename = "DEBUG")]
10    Debug,
11    #[serde(rename = "INFO")]
12    Info,
13    #[serde(rename = "WARN")]
14    Warn,
15    #[serde(rename = "ERROR")]
16    Error,
17}
18
19/// A single log entry from the device.
20#[derive(Debug, Clone, Serialize, Deserialize)]
21#[serde(rename_all = "camelCase")]
22pub struct LogEntry {
23    pub id: u64,
24    pub priority: LogEntryPriority,
25    pub module: String,
26    pub message: String,
27    #[serde(default)]
28    pub context: HashMap<String, serde_json::Value>,
29    pub created_at: DateTime<Utc>,
30}