use base::Result;
use app::LogLevel;
use app::LogFile;
pub trait Logger
where Self: 'static + Sized + Send + Sync
{
fn log_level(&self) -> Result<LogLevel>;
fn set_log_level(&mut self, log_level: &LogLevel) -> Result<()>;
fn log_file(&self) -> Result<LogFile>;
fn set_log_file(&mut self, log_file: &LogFile) -> Result<()>;
fn log_error(&self, content: &str) -> Result<()>;
fn log_warn(&self, content: &str) -> Result<()>;
fn log_info(&self, content: &str) -> Result<()>;
fn log_debug(&self, content: &str) -> Result<()>;
fn log_trace(&self, content: &str) -> Result<()>;
}