#![cfg(target_env = "ohos")]
use std::fmt::Debug;
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum HiTraceOutputLevel {
Debug = 0,
Info = 1,
Critical = 2,
Commercial = 3,
}
impl From<HiTraceOutputLevel> for hitrace_sys::HiTrace_Output_Level {
fn from(value: HiTraceOutputLevel) -> Self {
match value {
HiTraceOutputLevel::Info => hitrace_sys::HiTrace_Output_Level::HITRACE_LEVEL_INFO,
HiTraceOutputLevel::Debug => hitrace_sys::HiTrace_Output_Level::HITRACE_LEVEL_DEBUG,
HiTraceOutputLevel::Critical => {
hitrace_sys::HiTrace_Output_Level::HITRACE_LEVEL_CRITICAL
}
HiTraceOutputLevel::Commercial => {
hitrace_sys::HiTrace_Output_Level::HITRACE_LEVEL_COMMERCIAL
}
}
}
}
#[cfg(feature = "tracing-rs")]
impl From<tracing_core::Level> for HiTraceOutputLevel {
fn from(level: tracing_core::Level) -> Self {
use tracing_core::Level;
match level {
Level::TRACE | Level::DEBUG => HiTraceOutputLevel::Debug,
Level::INFO => HiTraceOutputLevel::Info,
Level::WARN => HiTraceOutputLevel::Critical,
Level::ERROR => HiTraceOutputLevel::Commercial,
}
}
}