use crate::alink::{AlinkRequest, AlinkResponse};
use crate::{Error, Result, ThreeTuple};
use log::*;
use regex::Regex;
use rumqttc::{AsyncClient, QoS};
use serde::{Deserialize, Serialize};
use std::sync::Arc;
use tokio::sync::mpsc;
use tokio::sync::mpsc::{Receiver, Sender};
#[derive(Deserialize, Serialize, Debug, Clone)]
#[serde(rename_all = "camelCase")]
pub struct LogItem {
pub utc_time: String,
pub log_level: String,
pub module: String,
pub code: String,
pub trace_context: Option<String>,
pub log_content: String,
}
#[derive(Deserialize, Serialize, Debug, Clone)]
pub struct LogConfigContent {
pub mode: i32,
}
#[derive(Deserialize, Serialize, Debug, Clone)]
#[serde(rename_all = "camelCase")]
pub struct LogConfig {
pub get_type: String,
pub content: LogConfigContent,
}
#[derive(Deserialize, Serialize, Debug, Clone)]
#[serde(rename_all = "camelCase")]
pub struct LogConfigGet {
pub config_scope: String,
pub get_type: String,
}